Andorid Material Design TextInputLayout和TextInputEditText

原创 2016年08月28日 21:40:55

TextInputLayout继承自LinearLayout

api:https://developer.android.com/reference/android/support/design/widget/TextInputLayout.html

Layout which wraps an EditText (or descendant) to show a floating label when the hint is hidden due to the user inputting text.

Also supports showing an error via setErrorEnabled(boolean) and setError(CharSequence), and a character counter via setCounterEnabled(boolean).

The TextInputEditText class is provided to be used as a child of this layout. Using TextInputEditText allows TextInputLayout greater control over the visual aspects of any text input.

被设计成用来包裹一个EditText (或者其子类)的布局 ,当它在用户输入、提示文本被隐藏的同时来显示一个浮动的标签 ,同时能够通过 setErrorEnabled(boolean)和setError(CharSequence) 来支持显示一个错误显示,同时可以通过setCounterEnabled(boolean)来显示一个字符计数器,
而TextInputEditText 类是就是被设计成用来作为这个布局包裹子的控件来使用,使用它会让TextInputLayout 更加完善得控制任何输入文本的视觉效果。

An example usage is as so:
下面是简单的事例用法

<android.support.design.widget.TextInputLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content">

     <android.support.design.widget.TextInputEditText
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:hint="@string/form_username"/>

 </android.support.design.widget.TextInputLayout>

api:https://developer.android.com/reference/android/support/design/widget/TextInputEditText.html

TextInputEditText继承自AppCompatEditText

A special sub-class of EditText designed for use as a child of TextInputLayout.

Using this class allows us to display a hint in the IME when in ‘extract’ mode.

一个特别的EditText 替代类,是被设计成用于TextInputLayout包裹的子控件来使用的,使用它在全屏模式下来显示android:hint提示文字。

所以TextInputLayout最常用的还是包裹EditText 来使用。。。

TextInputLayout常用xml属性

counterEnabled
Whether the layout is laid out as if the character counter will be displayed.
计数器是否可用

counterMaxLength
The max length to display in the character counter.
计数器最大字符长度

errorEnabled
Whether the layout is laid out as if an error will be displayed.
错误信息是否可用

hintAnimationEnabled
Whether to animate hint state changes.
提示信息动画是否可用

hintEnabled
Whether the layout’s floating label functionality is enabled.
提示信息是否可用

hintTextAppearance
提示信息外观

passwordToggleContentDescription
Text to set as the content description for the password input visibility toggle.
设置当前是密码可见状态的描述文本

passwordToggleDrawable
Drawable to use as the password input visibility toggle icon.
密码可见状态切换按钮图标

passwordToggleEnabled
Whether the view will display a toggle when the EditText has a password.
密码可见状态切换按钮是否可用

hint
The hint to display in the floating label.
提示信息

xml

<android.support.design.widget.TextInputLayout
    android:id="@+id/id_til"
    android:layout_width="200dp"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    app:hintAnimationEnabled="false"
    android:layout_height="wrap_content">
    <EditText
        android:id="@+id/id_et"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        />
</android.support.design.widget.TextInputLayout>

code

 final TextInputLayout idtil = (TextInputLayout) findViewById(R.id.id_til);
        idet.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {

                if (s.toString().equals("")){
                    idtil.setError("is empty");
                }else{
                    idtil.setError(null);
                }
            }

            @Override
            public void afterTextChanged(Editable s) {

            }
        });
版权声明:本文为【LouisGeek】原创文章,转载请注明出处!

Android Material Design之TextInputLayout、TextInputEditText解析

TextInputLayout一、简介TextInputLayout是一个新的布局,从继承树上看,它继承自LinearLayout,但是它并不支持android:orientation属性,因为Tex...

Material Design 入门(一)——TextInputLayout和TextInputEditText

Material Design 入门(一)——TextInputLayout和TextInputEditText 2016-08-29 17:04 2199人阅读 评论(0) 收藏...

Android Design Support Library(一):FloatingActionButton、TextInputLayout、TextInputEditText简单用法

Android Design Support Library(一):FloatingActionButton、TextInputLayout、TextInputEditText简单用法...

Android Design Support Library使用详解——TextInputLayout与TextInputEditText

TextInputLayout在谷歌的Material Design中,文本输入是这样表现的:当用户点击输入框想要输入文字时,如果输入框是空的,那么它的提示文字(hint)就会变小并且同时移动到输入框...

Android中Design库之TextInputLayout、TextInputEditText

首先上一张效果图:

Material Design之TextInputLayout、Snackbar的使用

这两个控件也是Google在2015 I/O大会上发布的Design Library包下的控件,使用比较简单,就放在一起讲了,但有的地方也是需要特别注意一下。 TextInputLayout...

Android TextInputLayout,打造 Material Design 风格的文本输入框

Android Material Design 对 EditText 输入框的交互设计定义了一个规范,详细设计细节可以参考官网介绍:Components/Text fields (需要 翻墙 )。an...

Material Design (二),TextInputLayout的使用

前言 一般登录注册界面都需要EditText这个控件来让用户输入信息,同时我们一般会设置一个标签(使用TextView)和EditText的hint属性来提示用户输入的内容,而设计库中高级组件Text...
  • ydxlt
  • ydxlt
  • 2016年03月16日 20:11
  • 2527

Android Material Design系列之TextInputLayout

前言TextInputLayout是一个能够把EditText包裹在当中的一个布局,当输入文字时,它可以把Hint文字飘到EditText的上方,错误信息显示在editText的下方。使用TextIn...
  • Greathfs
  • Greathfs
  • 2016年08月06日 01:52
  • 29141
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Andorid Material Design TextInputLayout和TextInputEditText
举报原因:
原因补充:

(最多只允许输入30个字)