Android后台未正确应用于第一个实例

Android后台未正确应用于第一个实例,android,android-layout,material-design,android-support-library,Android,Android Layout,Material Design,Android Support Library,我有一个非常简单的布局,只是两个按钮相互下方。在两个按钮上,我都设置了一个可绘制的图层列表作为背景,其中包含selectableItemBackground,这会对按钮产生连锁反应 一个奇怪的错误出现了:在第一个按钮上,涟漪效应没有发生,但在第二个按钮上却发生了。这是怎么解释的,还是Android/支持库中的一个bug 设置ClickHandler不会改变任何东西,行为保持不变 请参见下面的示例gif和下面的XML代码 main_activity.xml: <?xml version="

我有一个非常简单的布局,只是两个按钮相互下方。在两个按钮上,我都设置了一个可绘制的图层列表作为背景,其中包含selectableItemBackground,这会对按钮产生连锁反应

一个奇怪的错误出现了:在第一个按钮上,涟漪效应没有发生,但在第二个按钮上却发生了。这是怎么解释的,还是Android/支持库中的一个bug

设置ClickHandler不会改变任何东西,行为保持不变

请参见下面的示例gif和下面的XML代码

main_activity.xml:

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

    <Button
        android:id="@+id/first_button"
        android:text="First Button"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:layout_margin="12dp"
        android:background="@drawable/white_selectable_button"/>
    <Button
        android:id="@+id/second_button"
        android:text="Second Button"
        android:layout_width="match_parent"
        android:layout_margin="12dp"
        android:layout_height="48dp"
        android:background="@drawable/white_selectable_button"/>
</LinearLayout>

白色可选按钮.xml(分辨率/可绘制):


该可绘制图形似乎应用于按钮,因为当将颜色设置为红色时,按钮实际上显示为红色。只有selectableItemBackground涟漪未应用

我已经用设计支持库24.1.1、23.4.0和23.2.0对所有版本进行了测试,这不会改变任何东西


编辑:向Android bug tracker提交bug报告:

获取了您的代码并确认它在我的设备上也不工作。我把它作为一个文件提交。所以最终它会被修复

同时,我想出了一个简单的解决方法来修复这个bug。您只需在其他两个按钮之前添加一个不可见的虚拟按钮,因为该错误似乎只影响第一个按钮。一旦谷歌修复了它,你最终可以删除它

 <Button
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:background="@drawable/white_selectable_button"
        android:visibility="gone" />


我没有将任何单击侦听器添加到代码中,没有添加到第一个或第二个。除了setContentView之外,我的MainActivity几乎是空的。现在我的计算机上没有,因此无法测试设置单击侦听器的效果。我确实在原始代码中设置了它们,但没有效果。关于你的第二个建议,从我的想法来看,它是23.4.0版,但我需要检查一下。你建议什么版本?(我将检查使用旧版本时是否出现此问题)我已经测试了您的一些建议,没有结果:1)单击侦听器无所谓,有和没有侦听器,行为是相同的。2) 我还使用不同的支持库进行了测试,问题出现在最新的24.1.1中,但也出现在23.4.0和23.2.0中。
 <Button
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:background="@drawable/white_selectable_button"
        android:visibility="gone" />