处理父控件的点击效果在子控件的区域会失效问题

作者: wxyass 分类: Android 发布时间: 2017-09-15 15:54

开发过程中总会遇到各种各样的问题,下面是一个按钮点击的问题处理.

场景分析 :

在开发过程中,避免一个控件的太小,不方便用户点击,我们一般会给控件设置padding;

当多个控件响应同一个点击效果的时候,我们的解决方案:

1.将多个控件转化为一个控件,然后设置padding【比如:图片和文字的结合,可以通过TextView和Button的 android:drawableXxx=”“来添加图片】;

2.给这多个控件添加一个父布局,将点击事件赋给父布局即可。
但是问题又来了,如果子控件本身具有点击效果,如Button,ImageButton,父控件的点击效果在子控件的区域会失效【解决方案:将子布局改为自身不具有点击效果的控件,如TextView】

 <LinearLayout
        android:id="@+id/ppt_exit_linear"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:alpha="1"
        android:gravity="center"
        android:onClick="onClick"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/ppt_exit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@null"
            android:drawablePadding="10dp"
            android:drawableTop="@drawable/selector_pager_close"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:text="@string/close_bt"
            android:textColor="@color/selector_photo_text_color" />
    </LinearLayout>

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

邮箱地址不会被公开。 必填项已用*标注