当后面有ImageView时,selectableItemBackground和其他Drawable消失

时间:2018-11-20 11:36:03

标签: android android-layout android-view

我的SELECT f.f_id, f.fname FROM mapping AS m INNER JOIN detail AS d ON d.d_id=m.d_id INNER JOIN file AS f ON m.f_id=f.f_id WHERE m.v_id IN (1,2) GROUP BY m.f_id HAVING COUNT(DISTINCT m.v_id) = 2 层次结构如下:

View

如果我将图像<RelativeLayout> <ImageView android:id="@+id/my_background_image" android:layout_width="match_parent" android:layout_height="match_parent" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView androd:id="@+id/my_image" android:clickable="true" android:foreground="?attr/selectableItemBackground" /> </LinearLayout> </RelativeLayout> 设置为Drawable,则my_background_image?attr/selectableItemBackground上方提供的可绘制波纹会消失。我使用什么图像都没有关系,波纹完全消失了。我还发现,任何“前景” my_image的背景(包括向下箭头)也消失了。

这是非常奇怪的行为。有人知道为什么会这样吗?

编辑:我想补充一点,只要背景Spinner中未包含src="..."或未调用ImageView,就会出现波纹在上面。

1 个答案:

答案 0 :(得分:0)

LinearLayout设置透明背景可以解决此问题。

“无边界按钮在最接近的背景上绘制其内容。您的按钮可能在自身和ImageView之间没有背景,因此它绘制在This Answer的ImageView下方”