原创文章,转载请注明 http://blog.csdn.net/leejizhou/article/details/50494634

这篇文章介绍下Android Design Support Library中的TextInputLayout的使用,如果你还不知道怎么使用这个Design Library请参考 http://blog.csdn.net/leejizhou/article/details/50479934,TextInputLayout使你的EditText更具有Material Design的感觉,可以便捷的把EditText的提示信息挪到上方并且可以方便的进行错误信息提示。

废话不多说,看效果 :)

控件定义  <android.support.design.widget.TextInputLayout        android:id="@+id/tl_password"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_margin="8dp">        <EditText android:id="@+id/password"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:inputType="textEmailAddress"            android:hint="Password"         ></EditText>    </android.support.design.widget.TextInputLayout>

TextInputLayout是一个父容器控件,包裹了EditText,也没什么特别的属性,使用很简单,切记它一定是和EditText一起搭配使用的。

TextInputLayout的常用方法

tl_password.setHint("Username"); //EditText获得焦点后在上面显示的文字tl_password.setErrorEnabled(true); //开启错误提醒tl_password.setError("密码不能为空!"); //错误提醒的文字tl_password.setErrorEnabled(false); //关闭错误提醒

演示效果GIF的详细源码

Layout

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.leejz.textinputlayout.MainActivity">    <android.support.design.widget.TextInputLayout  android:id="@+id/tl_username" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="8dp">        <EditText android:id="@+id/username" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Username" ></EditText>    </android.support.design.widget.TextInputLayout>    <android.support.design.widget.TextInputLayout  android:id="@+id/tl_password" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="8dp">        <EditText android:id="@+id/password" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Password" ></EditText>    </android.support.design.widget.TextInputLayout>    <Button  android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="18dp" android:text="Click" android:id="@+id/button" />    <TextView  android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="Blog:http://blog.csdn.net/leejizhou" /></LinearLayout>

Activity

import android.support.design.widget.TextInputLayout;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.text.TextUtils;import android.view.View;import android.widget.EditText;public class MainActivity extends AppCompatActivity {    private EditText username;    private EditText password;    TextInputLayout tl_username;    TextInputLayout tl_password;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        tl_username=(TextInputLayout) findViewById(R.id.tl_username);        tl_username.setHint("Username");        tl_password=(TextInputLayout) findViewById(R.id.tl_password);        tl_password.setHint("Password");        //两种得到EditText对象的方法       // username=(EditText)findViewById(R.id.username);       // password=(EditText)findViewById(R.id.password);        username=tl_username.getEditText();        password=tl_username.getEditText();        //Button Click        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {               if(TextUtils.isEmpty(password.getText().toString())){                   tl_password.setErrorEnabled(true);                   tl_password.setError("密码不能为空!");               }else{                   tl_password.setErrorEnabled(false);               }            }        });    }}

Ok,有疑问的地方的可以在下方留言,感谢。

更多相关文章

  1. Android登录注册功能 数据库SQLite验证
  2. android捕获全局异常处理,不闪退
  3. 系出名门Android(6) - 控件(View)之DatePicker, TimePicker, Tog
  4. android mContainer.setPersistentDrawingCache (int drawingCac
  5. Android(安卓)unity3d 输入框
  6. Android错误之控件FloatingActionButton
  7. Android动态显示具体到秒的相聚时间
  8. ANDROID 自动接听 支持2.3以上版本
  9. android控件的边框设置

随机推荐

  1. SmallActivity创建
  2. tabhost放到底部显示
  3. android 常用资料
  4. Android线性布局(Linear Layout)
  5. Android定制--------自定义关机时间
  6. Android 8.0 Caused by: java.lang.Illeg
  7. Java vs Kotlin,Android开发人员应该选择
  8. Android是怎样调用硬件加速的?
  9. 2011.09.26——— android sample之Notep
  10. Android简单的登录界面的值传递