安卓SwitchCompat和CardView使用总结
来源:互联网 发布:c语言小游戏五子棋 编辑:程序博客网 时间:2024/06/05 22:48
1. android.support.v7.widget.SwitchCompat
SwitchCompat
是早期switch的升级版,更美观还增加了滑动动画,兼容android5.0以下,使用这个控件需要在build.gradle
文件中增加官方提供的依赖包compile "com.android.support:appcompat-v7:25.1.1
下面是基本的实现方法:
<android.support.v7.widget.SwitchCompat android:id="@+id/sc_receive_phone_number" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" />
效果图
像上面这样的写法它系统默认获取color.xml
文件的 <color name="colorAccent">#FF4081</color>
中的颜色,如果我们需要改变颜色和样式的话那就需要自定义属性了,思想自定义SwitchCompat也很简单!请继续往下看
#1.1 自定义SwitchCompat
假如我要把粉红色改成蓝色的话那就自定义style咯,在style.xml文件中增加style.
android提供了属性供我们自定义,是不是很贴心。
<style name="MySwitch" parent="Theme.AppCompat.Light"> <!--开启时的颜色--> <item name="colorControlActivated">@color/colorPrimary</item> <!--关闭时的颜色--> <item name="colorSwitchThumbNormal">@color/divider_color</item> <!--关闭时的轨迹颜色取30%的颜色--> <item name="android:colorForeground">@color/divider_color</item> </style>
在布局文件中给需要自定义控件中增加app:theme="@style/MySwitch"
自定义样式,
完整代码如下:
<android.support.v7.widget.SwitchCompat android:id="@+id/sc_receive_phone_number" android:layout_width="wrap_content" android:layout_height="wrap_content" app:theme="@style/MySwitch" />
效果图.png
哈哈,自定义颜色完成了,进行一下其他的修改吧,
app:switchMinWidth="50dp"
自定义宽度
app:thumbTintMode="src_in"
去掉开关阴影
添加监听事件:
mSc.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { isChecked = true; } else { isChecked = false; } } });
上面是使用SwitchCompat常用到的属性,不常用到的属性像什么给这个按钮增加文字文字间距什么的我就不介绍了,android提供的SwitchCompat我觉得挺好看的,只需要根据项目的主题自定义一下颜色就够用了,SwitchCompat就总结到这里啦,
2. android.support.v7.widget.CardView
CardView是android5.0增加的卡片式特性,它是一个布局容器ViewGroup!在item列表中我很喜欢用这个控件,item的左右下会有阴影后会给人一种很清新的风格,它也需要增加android提供的依赖包
compile "com.android.support:cardview-v7:25.1.0"
如果你不想添加依赖包的话....可以自己自定义ViewGroup
基本使用方法:
<android.support.v7.widget.CardView android:layout_width="200dp" app:cardElevation="10dp" app:cardCornerRadius="10dp" android:layout_gravity="center_horizontal" android:layout_height="200dp"> <TextView android:text="CardView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical|center_horizontal" android:textSize="25sp" android:id="@+id/textView" /> </android.support.v7.widget.CardView>
CardView三个个主要的属性就是app:cardElevation="10dp"阴影的大小
和 app:cardCornerRadius="10dp"卡片的圆角大小
app:card_view:contentPadding="5dp" 卡片内容于边距的间隔
通常都是4dp左右,阴影效果如果太大了看起来很丑的哦,这里为了演示所以设置10dp
效果图
加上android:foreground="?attr/selectableItemBackground"
效果棒棒哒
- 安卓SwitchCompat和CardView使用总结
- 安卓高级3 RecyclerView 和cardView使用案例
- 【安卓笔记】CardView+RecyclerView使用示例
- 安卓笔记:CardView的使用
- CardView和SeekBar使用
- SwitchCompat使用小结
- Android的CardView使用总结
- CardView的介绍和使用
- RecyclerView和CardView的使用
- Android 使用RecycleView和CardView
- SwitchCompat与Switch简单使用
- CardView使用
- cardView使用
- CardView使用
- CardView使用
- Android RecyclerView和CardView的结合使用
- Android CardView使用和导入出错问题
- 关于recyclerview和cardview使用中的NoClassFoundException
- Plugin with id 'com.android.application' not found.
- 【腾讯Bugly干货分享】那些年,我们一起写过的“单例模式”
- 更新Android Studio 2.3遇到 Failed to open zip file解决
- 前端图表和图片裁剪缩放
- node.js学习(二、node.js安装)
- 安卓SwitchCompat和CardView使用总结
- XX项目知识点汇总(3)
- Bootstrap导航元素
- 欢迎使用CSDN-markdown编辑器
- 随手小记
- mysql存储过程
- PHP学习笔记——字符串的定界符声明;
- 四大非关系型数据库类型,你知道多少
- apt-get和dpkg区别