fix: 开源许可列表项改用 Card(onClick) 以支持点击动画
原实现使用 Column + Modifier.clickable 在 LazyColumn 中无法显示 ripple 反馈。改用 Material3 Card 的 onClick 参数后,点击水波纹 动画正常显示。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
acb737dd25
commit
c72120ee0a
@ -1,13 +1,14 @@
|
||||
package plus.rua.project.ui
|
||||
|
||||
import androidx.compose.foundation.Canvas
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.items
|
||||
import androidx.compose.material3.Card
|
||||
import androidx.compose.material3.CardDefaults
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.IconButton
|
||||
@ -21,6 +22,7 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.geometry.Offset
|
||||
import androidx.compose.ui.graphics.StrokeCap
|
||||
import androidx.compose.ui.unit.dp
|
||||
import plus.rua.project.util.logd
|
||||
|
||||
/**
|
||||
* 开放源代码许可页面,展示项目使用的第三方库及其许可证。
|
||||
@ -70,9 +72,17 @@ fun LicensesScreen(
|
||||
.padding(innerPadding)
|
||||
) {
|
||||
items(licenses) { item ->
|
||||
Column {
|
||||
Card(
|
||||
onClick = {
|
||||
logd("LicensesScreen") { "clicked: ${item.library}" }
|
||||
},
|
||||
colors = CardDefaults.cardColors(
|
||||
containerColor = MaterialTheme.colorScheme.surfaceContainerHigh
|
||||
),
|
||||
elevation = CardDefaults.cardElevation(defaultElevation = 0.dp),
|
||||
modifier = Modifier.padding(horizontal = 16.dp, vertical = 4.dp)
|
||||
) {
|
||||
ListItem(
|
||||
modifier = Modifier.clickable { },
|
||||
headlineContent = {
|
||||
Text(
|
||||
text = item.library,
|
||||
@ -87,10 +97,6 @@ fun LicensesScreen(
|
||||
)
|
||||
}
|
||||
)
|
||||
HorizontalDivider(
|
||||
modifier = Modifier.padding(horizontal = 16.dp),
|
||||
color = MaterialTheme.colorScheme.outlineVariant
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user