EditText高度的改变

来源:互联网 发布:连接我家有wifi的网络 编辑:程序博客网 时间:2024/05/16 07:38

EditText默认使用系统的背景图片,如果改变了EditText的高度,就会截取一部分背景图片,解决办法有三种:

一、

android:layout_height="wrap_content" 

android:textSize="20px"

android:padding="5px"

android:background="#ffffffff"

但是这样背景就是白色,有焦点时也没有区别,那么可以在res/drawable/下自己新建shape.xml来画自己的背景图,参照文章《Android开发之Shap自定义图形》

 

 二、

另外一个办法就是在布局中不使用具体数值来定义EditText大小,而是用layout_weight来规划大小,且EditText属性中android:layout_height="wrap_content",

如:

<LinearLayout
         android:layout_width="fill_parent"
      android:layout_height="fill_parent"
android:orientation="vertical">

<LinearLayout
         android:layout_width="fill_parent"
      android:layout_height="0dip"
      android:layout_weight="1"
      android:orientation="horizontal"
      android:gravity="center_vertical"
         >
         <TextView
          android:id="@+id/userNameText"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="user name:"
          android:layout_marginRight="10px"
          android:textColor="#ff000000"
          android:textSize="20px"
         />
         <EditText
             android:id="@+id/userNameEdit"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:singleLine="true"
          android:imeOptions="flagNoExtractUi"
          android:nextFocusRight="@+id/heightEdit"
          android:nextFocusLeft="@+id/targetWeightEdit"
          android:gravity="center_vertical"
          android:textSize="20px"
             />
      </LinearLayout>
     
      <LinearLayout
         android:layout_width="fill_parent"
      android:layout_height="0dip"
      android:layout_weight="1"
      android:orientation="horizontal"
      android:gravity="center_vertical"
         >
         <TextView
          android:id="@+id/birthText"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="date of birth:"
          android:layout_marginRight="10px"
          android:textColor="#ff000000"
          android:textSize="20px"
         />
         <EditText
             android:id="@+id/birthEdit"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
    android:singleLine="true"
          android:imeOptions="flagNoExtractUi"
          android:nextFocusRight="@+id/activityLevelEdit"
          android:nextFocusLeft="@id/heightEdit"
          android:gravity="center_vertical"
          android:textSize="20px"
             />
      </LinearLayout>
     
      <LinearLayout
         android:layout_width="fill_parent"
      android:layout_height="0dip"
      android:layout_weight="1"
      android:orientation="horizontal"
      android:gravity="center_vertical"
         >
         <TextView
             android:id="@+id/genderText"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="Gender:"
             android:textColor="#ff000000"
             android:layout_marginRight="10px"
             android:textSize="20px"
             android:gravity="center_vertical"
             />
         <RadioGroup
          android:id="@+id/genderGroup"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:orientation="horizontal"
          android:tag="gender "
          android:gravity="center_vertical"
          >
         
          <RadioButton
              android:id="@+id/male"
              android:layout_width="0dip"
              android:layout_height="wrap_content"
              android:text="male"
              android:layout_weight="1"
              android:textColor="#ff000000"
              android:layout_marginRight="10px"
              android:nextFocusLeft="@+id/activityLevelEdit"
              android:textSize="20px"
              />
          <RadioButton
              android:id="@+id/female"
              android:layout_width="0dip"
              android:layout_height="wrap_content"
              android:text="female"
              android:layout_weight="1"
              android:textColor="#ff000000"
              android:nextFocusRight="@+id/targetWeightEdit"
              android:textSize="20px"
              />
      </RadioGroup>
        
     </LinearLayout>

</LinearLayout>

 

 

三、也是最简单的办法,使用android另外一个背景图,就可以随意改变EditText的高度和宽度,只要字体大小符合EditText的大小,就可以完全显示了。如

<EditText
          android:layout_width="300px"
          android:layout_height="30px"
          android:singleLine="true"
          android:imeOptions="flagNoExtractUi"
          android:gravity="center_vertical"
          android:textSize="10px"
          android:background="@android:drawable/editbox_background"
             />

原创粉丝点击