EditText就是我们最常用的文本输入框
常用属性见官方文档
主要是以下几个问题:
1.取消默认获取焦点
Activity启动时候会把焦点默认停留在第一个EditText控件上
一般的解决方法是在此EditeText之前加入一个看不到的控件,让其先于EditText获取焦点
加入一个看不到LinearLayout控件
<LinearLayout android:focusable="true" android:focusableInTouchMode="true" android:layout_width="0px" android:layout_height="0px"/>
2.修改EditeText样式
一般步骤为:
a).res/drawable文件夹下建立editeText需要的外观样式
b).定义selector,引用样式
默认样式bg_edittext_normal.xml
<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#FFFFFF" /> <corners android:radius="3dip"/> <stroke android:width="1dip" android:color="#cccccc" /> </shape>
获取焦点的样式bg_edittext_focused.xml
<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#FFFFFF" /> <corners android:radius="3dip"/> <stroke android:width="1dip" android:color="#728ea3" /> </shape>
selector:bg_edittext.xml
<?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_window_focused="false" android:drawable="@drawable/bg_edittext_normal" /> <item android:state_focused="true" android:drawable="@drawable/bg_edittext_focused" /> </selector>
使用selector:
<EditText android:id="@+id/editTextContent" android:layout_width="350dp" android:layout_height="match_parent" android:background="@drawable/bg_edittext" android:text="123" />