Design库,全部控件的使用

导入地址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<Fragment> mFragments;
private List<String> mTitles;

public EventTabFragmentAdapter(FragmentManager fm, List<Fragment> fragments, List<String> 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);

}

}  

控件五: NavigationView-侧滑视图
属性:布局中添加xmlns:app”http://schemas.android.com/apk/res-auto
          创建布局xxxlayout.xml
          布局中创建android.support.v4.widget.DrawerLayout控件
          控件中创建NavigationView
          app:headerLayout="@layout/head_view"//创建head_view布局(头部布局)
          app:menu="@menu/ment_main"(菜单布局)
          android:layout_gravity="left"
          android:fitsSystemWindows="true"
代码:获取drawerLayout控件
          drawerLayout.closeDrawer();//控制侧滑菜单的显示opean与隐藏close
控件六:CoordinatorLayout-完美协调子View工作的核心部件
1.属性:根布局CoordinatorLayout
           使用FloatingActionButton控件
           使用Snackbar控件
1.效果:随着Snackbar的弹出FloatingActionButton不被覆盖,随着Snackbar向上移动。
2.属性:控件android .support.design.widget.CoordinatorLayout//相当于优化的FrameLayout
                 app:contentScrim="#77DB93"//动画结束后显示toolbar //二
                 控件 android .support.design.widget.AppBarLayout //用于兼容Tb与CL
              android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar//设置字体颜色为白色//二
                     控件android.support.design.widget.CollapsingToolbarLayout//用于滑动缩小整个上边布局

                     app:expandedTitleMarginStart= "80dp"//设置边距
                         控件ImageView //第二部分
                 app:layout_collapseMode="parallax"//最终显示图片中间位置
                 //参数none,最终显示图片底部
                 //参数bin,依旧显示在图片底部无效果
                 app:layout_collapseParallaxMultiplier="0.8"//调节视觉差,值越小动态效果越快
                         控件android .support.v7.widget.Toolbar
              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
              (内部内容
               <item name="android:windowActionBar">false</item>
               <item name="android:windowNoTitle">true</item>
               <item name="windowActionBar">false</item>
               <item name="windowNoTitle">true</item>
              ) 
              //第二部分
              app:layout_collapseMode="pin"//固定toolbar不隐藏
              //参数parallax随着图片缩小Toolbar也随着隐藏,同时进行
              //参数none相当于没加这个属性,效果是Toolbar隐藏掉后再缩小图片
                 控件android.support.v4.widget.NestedScrollView
           app:layout_behavior="@string/appbar_scrolling_view_behavior"//设置NS位于ABL的下方
2.代码:
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);//显示返回按钮,是否实现返回到上一页的效果未测

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值