导入地址com.android.support:design:23.2.0,,输入design搜索到确认即可;
布局中android.support.design.widget.XXX,调用控件
控件一:FloatingActionButton-浮动的圆形按钮
属性:布局中添加xmlns:app”http://schemas.android.com/apk/res-auto”
app:backgroundTint=”#ff0000”//设置背景色
app:fabSize=”normal”//包裹src图片,属性mini缩小控件达到src的大小
app:elevation=”5dp”//x轴阴影效果
app:rippleColor=”#000000”//点击效果颜色
控件二:TextInputLayout-优化EditText
属性:必须存放子控件:EditText
代码:textinput.setHint(“这里填写提示信息”);
EditText edittext=textinput.getEditText();
edittext.addTextChangedListener(new TextWatcher(){
方法:beforeTextChanged:
方法:onTextChanged:
if(s.length()>10){
textInput.setError(“用户名不能超过10位”);//限制10个字节
textInput.setErrorEnabled(true);
}else{
textInput.setErrorEnabled(false);
}
方法:afterTextChanged:
});
控件三:Snackbar- 可交互的提示框(相当于Toast位于bottom)
代码:在控件的点击事件中调用
final Snackbar snackbar=Snackbar.make(btn,”你点击了按钮”,Snackbar.LENGTH_LONG).show();
snackbar.setAction(“知道了”,new View.OnClickListener(){
snackbar.dismiss();
}
});
控件四:TabLayout 便捷标签
属性:app:tabTextColor=”@android:color/black”//未选中字体颜色
app:tabSelectedTextColor=”@android:color/XXX”//选中字体的颜色
app:tabIndicatorColor=”“//下标指示器的颜色(滑标)
app:tabIndicatorHeight=”“//下标指示器的高度
app:tabMode=”scrollable”//可滑动标签
//背景色直接bg就可以
代码: 获取tabs控件
tabs.addTab(tabs.newTab().setText(“Tab1”));//添加标签名称
添加viewpager一起使用:添加viewpager到布局;
Listtitles=new ArrayList<>();
Listfragments=new ArrayList<>();
for(int i=0;i<4;i++){
String title=”Tab”+(i+1);
tabs.addTab(tabs.newTab().setText(title));
titles.add(title);
Fragment fragment=new JikeFragment(title);
fragments.add(fragment);
}
获取viewpager控件
XXXFragmentAdapter mAdapter=new XXXFragmentAdapter(getSupportFragmentManager(), fragments, titles);
viewpager.setAdapter(mAdapter);
tabs.setupWithViewPager(viewpager);
tabs.setTabsFromPagerAdapter(mAdapter);
创建XXXfragment,在xxxfragment中添加构造函数:
String mTitle;
public xxxfragment(String title){
mTitle=title;
}
在onCreateView中:
text=setText(mTitle);
创建XXXFragmentAdapter
public class XXXFragmentAdapter extends FragmentStatePagerAdapter {
private List mFragments;
private List mTitles;
public EventTabFragmentAdapter(FragmentManager fm, List fragments, List titles) {
super(fm);
mFragments = fragments;
mTitles = titles;
}
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
@Override
public int getCount() {
return mFragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return mTitles.get(position);
}
}
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar//设置字体颜色为白色//二
app:layout_collapseMode="parallax"//最终显示图片中间位置
//参数none,最终显示图片底部
//参数bin,依旧显示在图片底部无效果
app:layout_collapseParallaxMultiplier="0.8"//调节视觉差,值越小动态效果越快
android:layout_height="?attr/actionBarSize"//系统默认高度
app:layout_scrollFlags="scroll|enterAlways"//上滑隐藏Toolbar/下滑显示Toolbar//二、挪到CTL中//参数enterAlwaysCollapsed只有下滑到第一个控件的时候再显示
//参数exitUntilCollapsed配合android:minHeight使用,上滑动隐藏余留一个最小高度,不写最小高度为默认高度
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"//设置背景色为白色(没有作用) app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"//去除系统默认title
(内部内容
- name="android:windowActionBar">false
- name="android:windowNoTitle">true
- name="windowActionBar">false
- name="windowNoTitle">true
)
//第二部分
app:layout_collapseMode="pin"//固定toolbar不隐藏//参数parallax随着图片缩小Toolbar也随着隐藏,同时进行
//参数none相当于没加这个属性,效果是Toolbar隐藏掉后再缩小图片
app:layout_behavior="@string/appbar_scrolling_view_behavior"//设置NS位于ABL的下方
Toolbar toolbar; CollapsingToolbarLayout collapsingtoolbarlayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); toolbar=(Toolbar)findViewById(R.id.toolbar); setSupportActionBar(toolbar);//设置标题栏默认内容,大概意思是设置到activity窗口中 collapsingtoolbarlayout= (CollapsingToolbarLayout) findViewById(R.id.collapsingtoolbarlayout); collapsingtoolbarlayout.setTitle("美好的一天"); getSupportActionBar().setHomeButtonEnabled(true);//是否使用左上角的返回按钮 getSupportActionBar().setDisplayHomeAsUpEnabled(true);//显示返回按钮,是否实现返回到上一页的效果未测 }