如果要增加一个ImageView Button TextView等控件,如果想增加他们的响应触发事件的范围可以通过padding属性来添加。
原因是,添加了padding的话,就会把控件内容相对控件本身的位置变大。
view的绘制机制下,
1)在View onMeasure(int, int) 确定所有子元素的大小,就会相对原来变大;
2)在通过onLayout(boolean, int, int, int, int)当View分配所有的子元素的大小和位置时触发。
3)onDraw(Canvas) view渲染内容的细节。
4)刷新显示到界面出来。
比如:
<TextView
android:id="@+id/username_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dip"
android:gravity="center_vertical"
android:text="用户名"
android:textColor="#443231"
android:textSize="15dip" />
要想增大 username_tv的触发位置就可以按照下面的属性增加:
<TextView
android:id="@+id/username_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dip"
android:layout_marginRight="10dip"
android:gravity="center_vertical"
android:text="用户名"
android:textColor="#443231"
android:textSize="15dip" />
注意:1) 这里的android:padding="5dip"是上下左右都padding了5dip,如果只需要某个方向就可以单独添加android:paddingLeft
android:paddingRight
android:paddingTop
android:paddingBottom 属性的值。
2)如果android:padding 和 android:paddingLeft
android:paddingRight
android:paddingTop
android:paddingBottom 这四个属性当中任何组合同时出现,绘制的时候只会响应android:padding的设置。