Android Design Support Library(2)- TextInputLayout的使用

原创文章,转载请注明 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,也没什么特别的属性,使用非常easy,切记它一定是和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_password.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,有疑问的地方的能够在下方留言,感谢。

时间: 2024-10-28 10:21:44

Android Design Support Library(2)- TextInputLayout的使用的相关文章

【翻】Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏

译者地址:[翻]Android Design Support Library 的 代码实验--几行代码,让你的 APP 变得花俏 原文:Codelab for Android Design Support Library used in I/O Rewind Bangkok session--Make your app fancy with few lines of code 原文项目 demo: Lab-Android-DesignLibrary 双语对照地址: [翻-双语]Android D

Material Design 开发利器:Android Design Support Library 介绍

转自:https://blog.leancloud.cn/3306/ Android 5.0 Lollipop 是迄今为止最重大的一次发布,很大程度上是因为 material design —— 这是一门新的设计语言,它刷新了整个 Android 的用户体验.但是对于开发者来说,要设计出完全符合 material design 哲学的应用,是一个很大的挑战.Android Design Support Library 对此提供了很好的支持,里面汇集了很多重要的 material design 控

Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏

译者地址:[翻]Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏 原文:Codelab for Android Design Support Library used in I/O Rewind Bangkok session----Make your app fancy with few lines of code 原文项目 demo: Lab-Android-DesignLibrary 双语对照地址: [翻-双语]Android

Android Design Support Library——Navigation View

前沿 Android 从5.0开始引入了Material design元素的设计,这种新的设计语言让整个安卓的用户体验焕然一新,google在Android Design Support Library中封装了一些重要的material design控件,在这之前其实github上也已经出现了许多各种各样的material design 控件,只不过现在google把有些控件标准化了,注意这个Android Design Support Library和Android Support Libra

Material Design with the Android Design Support Library

Material Design with the Android Design Support Library 原文http://www.sitepoint.com/material-design-android-design-support-library/ Material Design,Android 5.0发布时为android app 和其他平台app引入的一门新的设计语言. 它带来了一些新的UI组件,如“Floating Action Button”.实施这些新组件,同时确保向后兼容

如何使用android design support library

Android应用Design Support Library完全使用实例 - OPEN 开发经验库http://www.open-open.com/lib/view/open1433385856119.html Android MD风格相关控件小结 - 简书http://www.jianshu.com/p/5e6f2ae1d2ec 在android studio中引用这个库非常简单,只要在 build.gradle 文件中加上这段代码: compile 'com.android.support

Android Design Support Library使用详解

Android Design Support Library使用详解 Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的Android Design Support Library,在这个support库里面,Google给我们提供了更加规范的MD设计风格的控件.最重要的是,Android Design Support Library的兼容性更广,直接可以向下兼容到Android 2.2.这不得不说是一个良心之作. 使用S

【转】【翻】Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏

转自:http://mrfufufu.github.io/android/2015/07/01/Codelab_Android_Design_Support_Library.html [翻]Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏 Jul 1, 2015 译者地址:[翻]Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏 原文:Codelab for Androi

Android Design Support Library 介绍

本文翻译自著名博客 Android Developers,原作者是 Ian Lake,点击此处可查看 原文 . Android 5.0 Lollipop 是迄今为止最重大的一次发布,很大程度上是因为 material design —— 这是一门新的设计语言,它刷新了整个 Android 的用户体验.但是对于开发者来说,要设计出完全符合 material design 哲学的应用,是一个很大的挑战.Android Design Support Library 对此提供了很好的支持,里面汇集了很多