Android 控件备用收集

1.CardView卡片式布局

CardView适用于实现卡片式布局效果的重要控件,由appcompat-v7库提供,实际上CardView也是一个FrameLayout,只是额外提供了圆角和阴影效果,看上去有立体的感觉。一般CardView都用在ListView的item布局中。

  compile 'com.android.support:appcompat-v7:25.2.0'
  compile 'com.android.support:cardview-v7:25.2.0' 注意版本必须一致

cardView的常用属性:
app:cardBackgroundColor这是设置背景颜色 
app:cardCornerRadius这是设置圆角大小 
app:cardElevation这是设置z轴的阴影 
app:cardMaxElevation这是设置z轴的最大高度值 
app:cardUseCompatPadding是否使用CompatPadding 
app:cardPreventCornerOverlap是否使用PreventCornerOverlap 
app:contentPadding 设置内容的padding 
app:contentPaddingLeft 设置内容的左padding 
app:contentPaddingTop 设置内容的上padding 
app:contentPaddingRight 设置内容的右padding 
app:contentPaddingBottom 设置内容的底padding

效果如下:

Android 控件备用收集_第1张图片

2.顶部导航之TabLayout和ViewPager的组合  效果如下:

Android 控件备用收集_第2张图片

1).引用:implementation 'com.android.support:design:26.1.0' 

 注意 Android studio 3.0以后,引入依赖关键词变成了implementation,在之前版本的关键词是 compile;

2).将tab项添加到TabLayout中

 mTabLayout.addTab(tab1);
 mTabLayout.addTab(tab2);
 mTabLayout.addTab(tab3);

3).适配器中添加数据 ,再把TabLayout和ViewPager组合,使用setupWithViewPager可以让TabLayout和ViewPager联动

fragments=new ArrayList<>();
		//将提前写好三个Fragment添加到集合中
        fragments.add(new FirstFragment());
        fragments.add(new SecondFragment());
        fragments.add(new ThirdFragment());
		//创建适配器
        TabPageAdapter pageAdapter = new TabPageAdapter(getSupportFragmentManager(), fragments);
        //设置ViewPager的适配器
        mViewPager.setAdapter(pageAdapter);

//把TabLayout和ViewPager组合,使用setupWithViewPager可以让TabLayout和ViewPager联动
 mTabLayout.setupWithViewPager(mViewPager);

4).tab项但Tab项上没有文字了,解决办法就是重写适配器的getPageTitle()方法.

5).TabLayout的事件监听

mTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                //tab项选中状态时执行
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {
                //tab项取消选中状态时执行
            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {
               //tab项选中状态再次点击时执行

            }
        });

 

你可能感兴趣的:(android,studio,控件)