在Android Lollipop上,我正在使用:
android:background="?android:attr/selectableItemBackground"
在我点击按钮时获得材料动画反馈。
当我有一个包含在白色/浅色布局中的按钮时,它很有效,例如CardView。
但是当我想在深色背景上使用相同的东西时,我们几乎看不到效果,它不够明显。
有人有想法吗?
谢谢
答案 0 :(得分:18)
在API 21+上,您可以在android:theme="@android:style/ThemeOverlay.Material.Dark"
或View
上设置ViewGroup
,以将所有主题属性(文字颜色,波纹颜色,按钮颜色等)更改为"暗"版本。如果您在ViewGroup
上设置它,主题也会在通胀期间应用于所有子元素。这是一个简单的方法来区域"黑暗"否则"光"界面(反之亦然)。
<LinearLayout
android:id="@id/my_dark_layout"
...
android:theme="@android:style/ThemeOverlay.Material.Dark">
<TextView
android:id="@id/my_dark_bounded_ripple"
...
android:background="?android:attr/selectableItemBackground"
android:text="Bounded ripple" />
<ImageButton
android:id="@id/my_dark_unbounded_ripple"
...
android:background="?android:attr/selectableItemBackgroundBorderless"
android:src="@drawable/my_icon" />
</LinearLayout>
答案 1 :(得分:3)
AppCompat解决方案(也适用于旧API)
android:theme="@style/Base.ThemeOverlay.AppCompat.Dark"
android:background="?attr/selectableItemBackground"
答案 2 :(得分:0)
还有另一种方法可以更改应用主题:
Theme.AppCompat.NoActionBar
它适用于我。