View 控件增加响应位置

来源:互联网 发布:mac连校园网 编辑:程序博客网 时间:2024/06/08 08:31

如果要增加一个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的设置。