博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CardView
阅读量:6801 次
发布时间:2019-06-26

本文共 3155 字,大约阅读时间需要 10 分钟。

Android5.0中新增了CardView,一个继承自FrameLayout类、可以设置圆角、阴影的控件,同样也可以包含其他布局容器和控件。

  • 配置 如果SDK低于5.0,我们仍要引入 v7 包。在build.gradle中加入如下代码以自动导入support-v7包。
dependencies {    ...    compile 'com.android.support:appcompat-v7:25.3.1'    compile 'com.android.support:cardview-v7:25.3.1'}复制代码
  • 使用 布局如下:
复制代码

此处有两个CardView的重要属性 :cardCornerRadius 设置圆角半径,cardElevation 设置阴影半径。

除此以外,CardView还有其他属性:

CardView_cardBackgroundColor:       设置背景色。        CardView_cardMaxElevation:          设置Z轴最大高度值。        CardView_cardUseCompatPadding:      是否使用CompatPadding。        CardView_cardPreventCornerOverlap:  是否使用PreventCornerOverlap。        CardView_contentPadding:            内容的Padding。        CardView_contentPaddingLeft:        内容的左Padding。        CardView_contentPaddingTop:         内容的上Padding。        CardView_contentPaddingRight:       内容的右Padding。        CardView_contentPaddingBottom:      内容的底Padding。复制代码

Java代码中:

@Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_cardview);        mCardView = (CardView) findViewById(R.id.cardView);        mSeekBar1 = (SeekBar) findViewById(R.id.sb_1);        mSeekBar2 = (SeekBar) findViewById(R.id.sb_2);        mSeekBar3 = (SeekBar) findViewById(R.id.sb_3);        initAssignViews();    }    private void initAssignViews() {        mSeekBar1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {            @Override            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {                mCardView.setRadius(progress);            }            @Override            public void onStartTrackingTouch(SeekBar seekBar) {            }            @Override            public void onStopTrackingTouch(SeekBar seekBar) {            }        });        mSeekBar2.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {            @Override            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {                mCardView.setCardElevation(progress);            }            @Override            public void onStartTrackingTouch(SeekBar seekBar) {            }            @Override            public void onStopTrackingTouch(SeekBar seekBar) {            }        });        mSeekBar3.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {            @Override            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {                mCardView.setContentPadding(progress, progress, progress, progress);            }            @Override            public void onStartTrackingTouch(SeekBar seekBar) {            }            @Override            public void onStopTrackingTouch(SeekBar seekBar) {            }        });    }}复制代码

此处设置了3个SeekBar分别设置CardView的 圆角半径:mCardView.setRadius,阴影半径:mCardView.setCardElevation,内部子父控件的距离:mCardView.setContentPadding。

  • AndroidUI

Demo:

转载于:https://juejin.im/post/5a35c834518825258a5fb93c

你可能感兴趣的文章
AngularJS表单验证操作例子分享
查看>>
RabbitMQ 的安装与工作模式
查看>>
视图的跳转,ViewController的使用 。试图出现启动消失过程
查看>>
博科300光纤交换机配置手册/操作方法/密码设置/用户指南大全
查看>>
HTML Dom
查看>>
Linux下为PHP添加扩展库的方法
查看>>
HBase(四):HBase API判断表是否存在,结果问题爆棚。。
查看>>
宏定义冲突
查看>>
cobbler-自动化部署
查看>>
我的友情链接
查看>>
tracepath
查看>>
java多线程基础复习
查看>>
我的友情链接
查看>>
iOS:使用minimumScaleFactor控制字体大小自适应
查看>>
Android Zxing条码扫描自定义控件(附代码)
查看>>
Netty学习笔记之Netty之初印象(一)
查看>>
centos7上安装knock
查看>>
Google 镜像站搜集
查看>>
Python 分布式进程间通讯
查看>>
用RMAN 备份异机恢复 迁移数据(一)dave
查看>>