为了方便自己以后的查找,于是就写了这个博客,废话就不多说,开始干:
导入: compile ‘com.android.support:appcompat-v7:24.2.1’ compile ‘com.android.support:design:24.2.1’ (最后的版本号最好和上面的V7包的版本号改成一样的,以免报一些不必要的错误)
Design Support Library中有包含8个控件:
1.TextInputLayout
正如上面所描述的,他是一个强大的带提示的MD风格的EditText
布局:
android.support.design.widget.TextInputLayout android:layout_width=”match_parent” android:layout_height=”wrap_content” app:counterMaxLength=”10” app:counterEnabled=”true” app:errorEnabled=”false” app:hintAnimationEnabled=”true” android:id=”@+id/til_acc”>
EditText android:layout_width="match_parent" android:layout_height="100px" android:hint="请输入账号" android:id="@+id/et_acc"/> /android.support.design.widget.TextInputLayout>
TextInputLayout的带的属性: 1. counterMaxLength 计数器 显示在右下角 2. counterEnabled 是否显示计数器 (true 、false两个值) 3. counterOverflowTextAppearance 当输入的长度大于计算器的大小,则显示最大限度的字体格式 4. hintAnimationEnabled 是否启用hint(提示字体)动画效果 5. errorEnabled 是否显示错误信息 6. errorTextAppearance 错误信息的字体的格式
MainActivity中的代码:
public class MainActivity extends AppCompatActivity {
@InjectView(R.id.btn)
Button btn;www.90168.org
@InjectView(R.id.activity_main)
LinearLayout activityMain;
@InjectView(R.id.et_acc)
EditText etAcc;
@InjectView(R.id.et_pws)
EditText etPws;
@InjectView(R.id.til_acc)
TextInputLayout tilAcc;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.inject(this);
init();
}
private void init() {
//EditView 监听
etAcc.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) {
//判断输入中的字符串是否大于 我们计数器设置的大小
if (charSequence.length() > 5){// 大于
//setErrorEnabled 设置true 并且设置显示错误的信息
tilAcc.setErrorEnabled(true);
tilAcc.setError("sssssss");
}else{
//小于 则把setErrorEnabled设置成false
tilAcc.setErrorEnabled(false);
}
}
//输入后的监听
@Override
public void afterTextChanged(Editable editable) {
}
});
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View view) {
final String acc = etAcc.getText().toString();
final String pws = etPws.getText().toString();
if (!TextUtils.isEmpty(acc) && !TextUtils.isEmpty(pws)) {
Snackbar.make(view, "登录成功", Snackbar.LENGTH_SHORT).show();
}
}
});
}
}