MaterialEditText 控件学习

这个视图原始框架地址:https://github.com/rengwuxian/MaterialEditText

指导手册:http://www.rengwuxian.com/post/materialedittext#content

接下来是我学习和总结的时候了:

1,没配置相关属性参数:

<com.yh.materialeditlibrary.MaterialEditText
                    android:id="@+id/basicEt"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:hint="Basic" />

效果:

设置为不可用状态:

 

enableBt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                basicEt.setEnabled(!basicEt.isEnabled());
                enableBt.setText(basicEt.isEnabled() ? "DISABLE" : "ENABLE");
            }
        });

效果:

 

1 BaseColor

文档里面是这么说的:

Base Color 被用作背景线的颜色、主字体的颜色(透明度被重置为87%)和提示字体的颜色(透明度被重置为26%)。你可以使用app:baseColor(xml) 或者 setBaseColor()(java) 来指定 Base Color 。Base Color 的默认值为纯黑

 

修改为红色:

 <com.yh.materialeditlibrary.MaterialEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Custom Base Color"
                app:baseColor="@color/red" />

效果:

 

2 Primary Color

自定义Primary Color

Primary Color 被用作激活状态的输入框背景色、高亮的Floating Label色和底部省略号的颜色。你可以使用 app:primaryColor (xml) 或者 setPrimaryColor()(java) 来指定 Primary Color。如果没有设置Primary Color,默认将使用 Base Color 来替代

也就是获取焦点状态时的底部颜色

默认颜色为红色,点击后显示为绿色的底.

<com.yh.materialeditlibrary.MaterialEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Custom Primary Color"
                app:baseColor="@color/red"
                app:primaryColor="@color/green" />

没点击状态:

点击后:

 

3 Floating Label

Floating Label 有三种模式: none , normal , highlight 。 你可以使用 app:floatingLabel (xml) 或者setFloatingLabel() (java) 来设置 Floating Label 的模式

从效果中明显看出是在EditText上面显示的问题的高亮程度,none,压根不显示,normal 默认的亮度,hightlight 高亮显示

none:

xml:

<com.yh.materialeditlibrary.MaterialEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Floating Label"
                app:floatingLabel="none" />
<com.yh.materialeditlibrary.MaterialEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Highlight Floating Label"
                app:floatingLabel="normal" />
<com.yh.materialeditlibrary.MaterialEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Highlight Floating Label"
                app:floatingLabel="highlight" />

 

4 singleLineEllipsis

当设置显示底部省略号后,控件会在文字向左滚动时在底部左侧显示一个三个点的省略号,点击省略号将自动把光标置于字符串的开始处。你可以通过 app:singleLineEllipsis=true (xml) 或者 setSingleLineEllipsis() (java) 来设置它。这个属性将自动设置android:singleLine 为 true

 

首先这个控件在不选中是不显示...的,而且滑动到最左侧,...小时,滑向右侧,...出现

 <com.yh.materialeditlibrary.MaterialEditText
                android:id="@+id/singleLineEllipsisEt"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Single Line Ellipsis"
                android:text="soyoungboy is beautiful ,so cool ,so nice ,so smart"
                app:singleLineEllipsis="true" />

效果:

5  maxCharacters

设置字符数限制后,控件右下角会显示已输入字符数和最大字符数的角标,并在超过限制后显示警告色(默认为红色)。 你可以通过app:maxCharacters (xml) 或者 setMaxCharacters() (java) 来设置字符数,通过 app:errorColor 或者 setErrorColor()(java) 来自定义警告色

app:maxCharacters="10" 设置最长文字长度10个
没超过10个字:

当超过10个字时,效果如下:


6 自定义 error color
自定义警告颜色:
比如设置超过10个字时,颜色为绿色
 <com.yh.materialeditlibrary.MaterialEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:errorColor="@color/green"
                app:maxCharacters="10" />

 

 

posted @ 2015-02-02 14:50  西北野狼  阅读(837)  评论(0编辑  收藏  举报