概述:
这是google今年推出的兼容库。
步骤:
、环境
studio:
1.安装studio,并更新到最新版本的库(22.2版本以上)
2.在gradle中,添加库
compile 'com.android.support:design:22.2.0'
或者在depence中直接添加support库
eclipse:
1.import库
位置:sdk>extras>android>support>design
记得copy 到工程的选项打钩。
clean,打钩design
2.如果报错,将此项目的sdk版本修改到5.1
将其作为library使用。只要在新建的项目中使用这个库即可。
控件一:Floating Action Button-浮动的圆形按钮
布局中设置
1.添加<android.support.design.widget.FloatingActionButton/>
,注:可以像图片那样设置src,放一张图片在表面
2.需要在布局中添加app的声明:
最外层布局中:
xmlns:app="http://schemas.android.com/apk/res-auto"
这样之后就可以直接用app来设置基本属性。
2.Floating Action Button的基本属性:
- app:backgroundTint=”” //设置背景色
- app:fabSize=”“值有normal【包裹与内部图片还有一段距离】和mini【包裹直接紧贴裹在图片】
- app:elevation=”5dp”//周围的阴影
- app:rippleColor=”“//设置点击时的颜色
也可以在代码中来设置上面的属性。不再详细介绍
控件二:TextInputLayout-让edittext提示更加人性化
1.布局:
<android.support.design.widget.TextInputLayout>
2.TextInputLayout中必须要放个EditText
3.代码中可以设置hint
setHint();
4.可以获得其中的edittext【getEditText()】,并可以对它添加事件editText.addTextChangedListener()
范例:
package com.example.mydesigntest;
import android.support.design.widget.TextInputLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
public class TextInputLayoutTest extends AppCompatActivity {
private TextInputLayout textInputLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_text_input_layout_test);
textInputLayout = (TextInputLayout) findViewById(R.id.textInput);
textInputLayout.setHint("请输入用户名");//设置hint
EditText editText = textInputLayout.getEditText();//获得其中的edittext控件
editText.addTextChangedListener(new TextWatcher() {
//对edittext添加监听
@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()>10){
textInputLayout.setError("用户名超过了10个字符");//利用textInputLayout的显示错误信息
textInputLayout.setErrorEnabled(true);
}else {
textInputLayout.setErrorEnabled(false);//位数减少时则错误信息消失
}
}
@Override
public void afterTextChanged(Editable editable) {
}
});
}
}
布局:
<Lin