【问题标题】:Is it possible to not trigger ripple effect on scroll?是否可以不触发滚动的涟漪效应?
【发布时间】:2021-07-14 13:12:39
【问题描述】:

实际结果: 滚动触发波纹效果 (Video)

预期结果:波纹效果仅在点击时触发,就像在 Android 视图中一样

代码

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            MyApp {
                Content()
            }
        }
    }
}

@Preview
@Composable
fun Content() {
    val items = List(100) { "Item number $it" }
    LazyColumn {
        items(items = items) { item ->
            Text(
                text = item,
                modifier = Modifier
                    .fillMaxWidth()
                    .clickable { }
                    .padding(16.dp)
            )
        }
    }
}

相关问题跟踪器:

  1. https://issuetracker.google.com/issues/182551482
  2. https://issuetracker.google.com/issues/168524931

【问题讨论】:

    标签: android-jetpack-compose


    【解决方案1】:

    Compose 版本 1.0.0-rc01 中已修复此问题

    【讨论】:

    • 这个1.0.0-rc01 工作,但是,与撰写@Preview 有一些复杂性。作为替代方案,您可以使用撰写版本1.0.0-beta09
    【解决方案2】:

    您需要像这样在Modifier.clickable 中设置选项:

    Modifier.clickable(
        interactionSource = MutableInteractionSource(),
        indication = null, 
        onClick = {
                /* Action */
        }
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-25
      • 2019-03-28
      • 2017-01-07
      • 2015-11-07
      • 2019-06-29
      • 1970-01-01
      相关资源
      最近更新 更多