Zak*_*rdi 4 android android-layout rippledrawable
我有一个看起来像这样的 LinearLayout。

我希望每一行都是可点击的。LinearLayout一行的代码如下所示:
<LinearLayout
style="@style/home_menu_item_container"
android:id="@+id/home_menu_acronyms_button"
>
<ImageView
style="@style/home_menu_item_left"
android:background="@color/greyLight"
/>
<TextView
style="@style/home_menu_item_right"
android:text="@string/home_menu_option_2"
android:background="@color/grey"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
如何添加扩展到整行(父级)的涟漪效应 - 而不仅仅是行中的一个子视图?这里的棘手部分是让涟漪越过两个彩色行。
小智 6
到目前为止,我发现最简单的方法是<ripple>在您的可LinearLayout绘制资源中定义一个,然后将 的背景设置为这个可绘制资源。
定义你的 drawable-v21/item_selector.xml
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/your_background_color">
<item android:id="@android:id/mask"
<!--color here doesn't matter-->
android:drawable="@android:color/white" />
</ripple>
Run Code Online (Sandbox Code Playgroud)
将您的背景设置LinearLayout为drawable/item_selector.
<LinearLayout
style="@style/home_menu_item_container"
android:background="@drawable/item_selector"
android:id="@+id/home_menu_acronyms_button" >
...
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
此外,如果您没有自己的背景颜色,那么根本不需要定义 a item_selector。您可以简单地android:background="?android:attr/selectableItemBackground"为您的LinearLayout.
| 归档时间: |
|
| 查看次数: |
14521 次 |
| 最近记录: |