?android:attr / selectableItemBackground不能在白色windowBackground上工作

时间:2016-04-19 07:27:50

标签: android android-recyclerview

我想用

?android:attr/selectableItemBackground

我的recyclerview项目。不幸的是它不起作用。我在styles.xml文件中有这一行:

<item name="android:windowBackground">@color/white</item>

如果没有这一行,我可以看到涟漪,这意味着后台因为whilte windowBackground而无法正常工作。如何强制ripppe效果出现在我的白色背景上?

以下是recyclerview项目的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/brand_row"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:background="?android:attr/selectableItemBackground"
android:orientation="vertical">

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="0dp"
              android:layout_marginLeft="@dimen/activity_horizontal_margin"
              android:layout_weight="1"
              android:gravity="center_vertical"
              android:orientation="vertical">

    <TextView
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ellipsize="marquee"
        android:singleLine="true"
        android:textColor="@color/modelTitelColor"
        android:textStyle="bold"/>

    <TextView
        android:id="@+id/numbers"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ellipsize="marquee"
        android:singleLine="true"
        android:textColor="@color/cardview_background"
        android:textStyle="normal"/>
</LinearLayout>


<View
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="@color/divider"/>
</LinearLayout>

我的minSdkVersion是14

1 个答案:

答案 0 :(得分:4)

在我使用的styles.xml中

Theme.AppCompat.NoActionBar 

作为父主题。将其更改为

style name="CustomMaterialTheme" parent="Theme.AppCompat.Light.NoActionBar"

解决了这个问题。现在我可以看到效果。