一.Support design包依赖:项目右键-open Mouding..-add library-supprot design OK导入完成
二.一些控件
1.Snackbar
用来做弹出提示,和Toast作用类似。
//和Toast用法类似,只是在右侧存在一个按钮,按钮只有setaction才会出现,这个按钮可以用来做一些逻辑处理
//传入的这个V,系统会自动找这个View的最外层布局,然后让snackbar显示在最外层的view上
snackbar = Snackbar.make(v, "网络异常", 5000).setAction("重新加载", new View.OnClickListener() {
@Override
public void onClick(View v) {
//重新加载的逻辑
Log.e("重新加载", "====");
snackbar.dismiss();
}
//设置右侧action的颜色
}).setActionTextColor(getResources().getColor(R.color.black));
//修改snackbar的背景颜色,默认颜色是个灰色的(4.4模拟器)注:这个snackbar的源layout是左侧一个texview,右侧一个button
View view = snackbar.getView();
view.setBackgroundColor(getResources().getColor(R.color.colorAccent));
snackbar.show();
实际效果:
这个控件是为了增强EditText显示:优化了hnit的显示-使用EdietText设置hint时,点击输入框,hint内容会消失,当使用这个控件后,hint的内容会显示咋Editext的上部;优化错误的提示-EditText设置error属性会出现一个感叹号在EditTex的右侧并显示错误信息,使用EtextInputLayout设置error,错误信息会出现在输入框下方;简化EditText的计数和最大长度限制。
<android.support.design.widget.TextInputLayout
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入账号">
<EditText
android:id="@+id/edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入密码"
app:counterEnabled="true"
app:counterMaxLength="18"
>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textUri" />
</android.support.design.widget.TextInputLayout>
edit= (EditText) findViewById(R.id.edit);
text= (TextInputLayout) findViewById(R.id.text);
//EditText和TextInputLayout的不同错误显示:edit显示在右侧;input显示在下方
edit.setError("格式错误");
text.setError("请输入正确格式");
实际显示效果: