一、EditText介绍

  ①EditText是一个输入框,在Android开发中是常用的控件。也是获取用户数据的一种方式。

  ②EditText是TextView的子类,它继承了TextView的所有属性。

  

二、常用属性 

1 输入类型:android:inputType=”value” value列表

Android EditText常用属性-风君雪科技博客


①number   只能输入数字

②numberDecimal  只能输入浮点数(小数)整数

③带password  将输入的文字显示···,用户输入密码

④textMultiLine 多行输入

⑤textNoSuggestions  无提示

 

2 设置不可编辑  android:editable="false"
   true 表示可以编辑
   false 表示不可编辑

 

3 提示文字 android:hint="密码"

 

三、常用方法

1 设置焦点,光标的位置

    et.setFocusable(true);
    et.requestFocus();
    et.setFocusableInTouchMode(true);

2 文本监听事件

  et.addTextChangedListener(new TextWatcher() {
   @Override
   public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
   //文本改变前
  }
  
   @Override
   public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
   //文本改变时
   }

   @Override
   public void afterTextChanged(Editable editable) {
   //文本改变后,一般使用此方法
   }
  });

3 设置EditText不可编辑但可拖动查看内容

Android 不可编辑单行显示能滑动查看内容

 

 四、练习

   【效果】结合其他属性和控件,编写登录界面

      Android EditText常用属性-风君雪科技博客

   【代码】 

  1 <?xml version="1.0" encoding="utf-8"?>
  2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3     xmlns:app="http://schemas.android.com/apk/res-auto"
  4     xmlns:tools="http://schemas.android.com/tools"
  5     android:layout_width="match_parent"
  6     android:layout_height="match_parent"
  7     tools:context=".view.LoginActivity"
  8     android:background="@drawable/login_main_bg2">
  9 
 10     <LinearLayout
 11         android:layout_width="match_parent"
 12         android:layout_height="match_parent"
 13         android:background="#3fa0a0a0"
 14         android:gravity="center"
 15         android:orientation="vertical">
 16 
 17         <ImageView
 18             android:id="@+id/change_user"
 19             android:layout_width="100dp"
 20             android:layout_height="100dp"
 21             android:layout_gravity="center_horizontal"
 22             android:layout_marginBottom="24dp"
 23             android:src="@drawable/next" />
 24 
 25 
 26         <RelativeLayout
 27             android:layout_width="match_parent"
 28             android:layout_height="wrap_content">
 29 
 30             <EditText
 31                 android:id="@+id/user_name"
 32                 android:layout_width="match_parent"
 33                 android:layout_height="50sp"
 34                 android:layout_margin="10dp"
 35                 android:background="@drawable/login_input_bg"
 36                 android:gravity="center"
 37                 android:hint="用户名"
 38                 android:inputType="number"
 39                 android:padding="5dp" />
 40 
 41             <Button
 42                 android:id="@+id/rl_user"
 43                 android:layout_width="wrap_content"
 44                 android:layout_height="wrap_content"
 45                 android:layout_alignParentRight="true"
 46                 android:layout_centerVertical="true"
 47                 android:background="@null"
 48 
 49                 />
 50         </RelativeLayout>
 51 
 52 
 53         <EditText
 54             android:id="@+id/user_password"
 55             android:layout_width="match_parent"
 56             android:layout_height="50sp"
 57             android:layout_margin="10dp"
 58             android:background="@drawable/login_input_bg"
 59             android:gravity="center"
 60             android:hint="密码"
 61             android:inputType="textPassword"
 62             android:padding="5dp" />
 63 
 64         <LinearLayout
 65             android:layout_width="match_parent"
 66             android:layout_height="wrap_content"
 67             android:layout_marginLeft="10dp"
 68             android:layout_marginTop="10dp">
 69 
 70             <CheckBox
 71                 android:id="@+id/cb"
 72                 android:layout_width="wrap_content"
 73                 android:layout_height="wrap_content"
 74                 android:background="@drawable/login_input_bg"
 75                 android:padding="10dp"
 76                 android:text="记住密码"
 77                 android:textSize="18sp" />
 78 
 79         </LinearLayout>
 80 
 81 
 82         <Button
 83             android:id="@+id/btn_denglu"
 84             android:layout_width="180dp"
 85             android:layout_height="80dp"
 86             android:layout_gravity="right"
 87             android:layout_marginTop="30dp"
 88             android:background="@drawable/next" />
 89     </LinearLayout>
 90 
 91     <Button
 92         android:id="@+id/btn_zhuche"
 93         android:layout_width="match_parent"
 94         android:layout_height="wrap_content"
 95         android:layout_alignParentBottom="true"
 96         android:gravity="center"
 97         android:textColor="#050505"
 98         android:text="还没有账号? 去创建"
 99         android:textSize="18sp"
100         android:background="@null"/>
101 
102 </RelativeLayout>