我尝试在selectableItemBackground
中使用recyclerview
,我测试了一个简单的演示,它正在运行。
这是布局和风格:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground">
<ImageView
android:id="@+id/imageView"
android:layout_width="100dp"
android:layout_height="100dp"
app:srcCompat="@mipmap/ic_launcher" />
</LinearLayout>
</RelativeLayout>
风格:
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
当我测试另一个项目时,它不起作用,我正在寻找一些解决方案,其中一个解决方案可能是风格。
但是解决方案样式是Theme.AppCompat.Light.NoActionBar
,我也使用它。
这是我的项目布局,有人可以告诉我为什么吗?
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground">
<ImageView
android:id="@+id/image"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="0dp"
android:src="@drawable/pink_circle" />
</RelativeLayout>
</RelativeLayout>
风格:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@android:color/holo_blue_dark</item>
</style>
答案 0 :(得分:5)
背景的动画部分要求您的元素可以点击。设置android:clickable=true"
。
答案 1 :(得分:-1)
你可以看看,我认为它应该有所帮助:https://yq.aliyun.com/articles/12407