在创建我的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">
答案 0 :(得分:2)
这是一个警告,在这种情况下,您应该忽略该警告。
lint正在尝试 来查找“活动”主题指定windowBackground
属性,但还具有指定{{1} }属性。在这些情况下,background
会绘制一次整个屏幕背景,然后windowBackground
会再次完全绘制整个背景。
在这些实际情况下,您应该删除根视图的background
属性,并将活动主题的background
设置为根视图的内容。
但是您不在这里做。首先,这只是一个itemView,而不是Activity。其次,波纹效应通常不会不会遮盖视图“下方”的背景。