Andorid 点击按钮事件叠加时候的事件分析。

经过本人测试总结几点

默认设置下
二个或者两个以上Button位置一样,后面解析的Button(ImageButton一样同原理)获得点击的焦点实现点击监听。
<Button
android:id="@+id/iv1"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_alignParentBottom="true"
android:layout_marginBottom="50dp"
android:layout_centerInParent="true"
/>
<Button
android:id="@+id/iv2"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_alignParentBottom="true"
android:layout_marginBottom="50dp"
android:layout_centerInParent="true"
/>

这里两个Button一样但是默认设置下,第一个Button已经没有焦点了被第二个抢占。

  1. 如果第二个Button设置clickable=”false”,第一个Button获得点击,可以响应事件。
  2. 重点:如果第二个Button设置enabled=”false”则第一个也不能点击,第二个也不能点击,都没有点击效果。默认这一块矩形就没有了焦点。
  3. 如果再加一个控件Button3如下
    <Button
    android:id="@+id/iv1"
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="50dp"
    android:layout_centerInParent="true"
    />
    <Button
    android:id="@+id/iv2"
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="50dp"
    android:layout_centerInParent="true"
    android:enabled="false"
    />
    <Button
    android:id="@+id/iv3"
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="50dp"
    android:layout_centerInParent="true"
    />

    那么这一块有获得了焦点。焦点给予了Button3,并且正常使用。

由此可以分析得出

clickable是将此点击按钮的点击事件监听取消,并不是点击效果取消。依然点击拦截了,只是没有监听返回
enabled是将此点击按钮的点击效果直接拦截了,这一块不能点击点击没反应。等于是这一块已经不是一个点击Button是一个图像。覆盖此区域以前所有的点击效果。当然有新的点击事件在此区域产生。并不影响:好比是橡皮擦把之前的点击效果清除,但是并不影响后来的点击效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值