android:后台selectableItemBackground无效

时间:2016-12-22 08:23:13

标签: android android-recyclerview

我尝试在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>

2 个答案:

答案 0 :(得分:5)

背景的动画部分要求您的元素可以点击。设置android:clickable=true"

答案 1 :(得分:-1)

你可以看看,我认为它应该有所帮助:https://yq.aliyun.com/articles/12407