安卓SwitchCompat和CardView使用总结

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" />

安卓SwitchCompat和CardView使用总结

效果图

像上面这样的写法它系统默认获取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" />

安卓SwitchCompat和CardView使用总结

效果图.png

哈哈,自定义颜色完成了,进行一下其他的修改吧,

app:switchMinWidth="50dp"自定义宽度

安卓SwitchCompat和CardView使用总结

app:thumbTintMode="src_in"去掉开关阴影

安卓SwitchCompat和CardView使用总结

添加监听事件:

 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

安卓SwitchCompat和CardView使用总结

效果图

加上android:foreground="?attr/selectableItemBackground"效果棒棒哒

安卓SwitchCompat和CardView使用总结

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值