向RecyclerView项目添加波纹效果时“可能透支”

时间:2018-10-18 19:57:06

标签: java android xml android-recyclerview

在创建我的RecyclerView之后,我注意到在尝试将波纹效果应用于RecyclerView项目布局时出现此警告。为什么在各种教程android:background="?android:attr/selectableItemBackground"中,人们告诉人们用来产生连锁反应的内容时会出现此警告?有谁知道该怎么做才能消除此警告?

  

可能的透支:根元素将背景“?attr / selectableItemBackground”绘制为主题,该主题也将绘制背景(推断为“ @ style / AppTheme”)

RecyclerView项目布局(XML)

<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tv_RVItem"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:focusable="true"
    android:background="?android:attr/selectableItemBackground"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="?android:attr/textColorPrimary" />
styles.xml中与

相关的主题

<style name="AppTheme" parent="android:Theme.Material.Light.DarkActionBar">
</style>

清单中定义的应用

<application
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:theme="@style/AppTheme">

1 个答案:

答案 0 :(得分:2)

这是一个警告,在这种情况下,您应该忽略该警告。

lint正在尝试 来查找“活动”主题指定windowBackground属性,但具有指定{{1} }属性。在这些情况下,background会绘制一次整个屏幕背景,然后windowBackground会再次完全绘制整个背景。

在这些实际情况下,您应该删除根视图的background属性,并将活动主题的background设置为根视图的内容。

但是您不在这里做。首先,这只是一个itemView,而不是Activity。其次,波纹效应通常不会不会遮盖视图“下方”的背景。