我有一个LienarLayout
,其中包含Button
。我在OnClickListener
和Button
上都有一个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>
答案 0 :(得分:2)
您可以简单地给出android.widget.ImageView
颜色,这样动画就不会发生。
background
如果您想要回放可点击的动画,请使用此
android:background="@android:color/white"
这将解决这个问题。