RelativeLayout包裹的控件中的空白点击事件无效
2018-08-23 本文已影响70人
世道无情
1. 概述
在开发中,有时候会遇到类似这样的界面,自己在写的布局的时候,就是中间红色框框中 快件已被本人签收 的布局文件,自己给整个布局文件设置点击事件,只有文字和图标部分点击事件可以,点击 快件已被本人签收 右边空白部分就不响应。
2. 效果图如下

3. 解决方式如下
检查下代码发现 快件已被本人签收 和 2018-07-06 13:01:19 文字设置wrap_content,而右边的空白部分没有写进布局中,即使点击最外层的 RelativeLayout的点击事件,也没有反应;
然后修改下代码,单独写一个RelativeLayout布局,把 快件已被本人签收 和 2018-07-06 13:01:19 单独放到这个RelativeLayout布局,然后给这个单独的RelativeLayout布局设置点击事件就可以
代码如下:
<RelativeLayout
android:id="@+id/rl_logistics"
android:layout_width="match_parent"
android:layout_height="@dimen/px120"
android:layout_gravity="center_vertical"
android:background="@color/white"
android:clickable="true"
>
<ImageView
android:id="@+id/iv_logistics"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_centerVertical="true"
android:layout_marginLeft="20dip"
android:src="@mipmap/set"
android:clickable="true"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:paddingRight="10dip"
android:src="@mipmap/nextto"
android:id="@+id/iv_next_1"
android:clickable="true"
/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/iv_logistics"
android:layout_toLeftOf="@id/iv_next_1"
android:id="@+id/rl_logistics_time"
>
<cn.uploo.yhh.view.CustomTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/px30"
android:text="快件已被本人签收"
android:textColor="@color/driver_name"
android:textSize="15sp"
android:layout_marginTop="@dimen/px20"
android:id="@+id/tv_logistics"
android:clickable="true"
/>
<cn.uploo.yhh.view.CustomTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="2018-07-06 13:01:19"
android:textColor="@color/driver_name"
android:textSize="15sp"
android:layout_marginTop="@dimen/px20"
android:layout_below="@id/tv_logistics"
android:layout_marginLeft="@dimen/px30"
android:id="@+id/tv_time"
android:clickable="true"
/>
</RelativeLayout>
</RelativeLayout>