禁用按钮单击动画,不带setEnable(false)

时间:2017-04-07 10:14:38

标签: java android button onclick

我有一个LienarLayout,其中包含Button。我在OnClickListenerButton上都有一个LinearLayout。在某些时候,我想停用Button并将onClick事件传递给父LinearLayout。我发现你通过设置Button.setClickable(flase)来实现这一目标。哪个有效并且LinearLayout获得了点击,但仍然会播放Button的点击动画。更糟糕的是,如果我点击未显示LinearLayout的{​​{1}},按钮点击动画仍会播放!

如果有人知道我如何能达到我的目标,我将不胜感激。

P.S。:我不想使用Button的原因是因为我不希望按钮看起来被禁用。我还希望能够按需启用/禁用按钮的可点击状态。所以基本上我希望按钮有时会处于活动状态,然后其他时间点击会传递给LinearLayout。

代码 - xml:

Button.setEnabled(false)

代码 - java:

<LinearLayout
    android:id="@+id/linearLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="?android:attr/selectableItemBackground">

    <Button
        android:id="@+id/button"
        style="?android:attr/buttonBarButtonStyle"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="button"/>

</LinearLayout>

点击之前: Before click 在点击LinearLayout期间: During click on LinearLayout

1 个答案:

答案 0 :(得分:2)

您可以简单地给出android.widget.ImageView颜色,这样动画就不会发生。

background

如果您想要回放可点击的动画,请使用此

android:background="@android:color/white"

这将解决这个问题。