android - 使用 LiveData 的波纹效果/点击动画
问题描述
我在 LinearLayout 中有项目。单击时,项目会打开其他活动。单击列表项时出现波纹效果。但是列表项是 LiveData,并且无法在该项上出现涟漪效果。因为涟漪效应需要很少的时间才能出现,而且 LiveData 速度很快。我能做些什么?
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:foreground="@drawable/clicked">
单击的.xml:
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/colorPrimaryDark">
<item
android:id="@android:id/mask"
android:drawable="@color/colorPrimaryDark" />
</ripple>
解决方案
我解决了这个问题。我使用这些代码而不是波纹。
android:background="@android:drawable/list_selector_background"
或者
android:background="@drawable/on_press_animation"
on_press_animation.xml:
<?xml version="1.0" encoding="utf-8"?>
<item android:state_enabled="true" android:state_pressed="true" android:drawable="@color/colorPrimaryDark" />
<item android:state_enabled="true" android:state_focused="true" android:drawable="@color/colorPrimaryDark" />
<item android:state_enabled="true" android:state_selected="true" android:drawable="@color/colorPrimaryDark" />
<item android:state_activated="true" android:drawable="@color/colorPrimaryDark" />
<item android:drawable="@android:color/transparent"/>
推荐阅读
- swiftui - SwiftUI 中的更多 TabView
- python - 使用 Pydantic 嵌套模型从 FastAPI 获取 JSON
- javascript - 当数据为 NULL 时如何使用 React 在 HTML 上隐藏元素
- javascript - 如何在 Photoshop 脚本中运行“快速操作”?
- javascript - 如何将一些 wasm 文件用于不依赖于 wasm-pack 的其他 javascript 项目?
- camera-calibration - 从鱼眼图像中采样透视(子)视图
- javascript - 执行多个 MySQL 查询相互依赖节点 js
- flutter - 将数据从一个屏幕传回另一个屏幕
- python - 我的深度学习模型不是训练。我如何让它训练?
- java - 如何获取 IntelliJ 2020.02 用于运行 Java 配置的实际命令