Android CheckBox修改选中颜色并去除选中时的水波纹效果

简介: Android CheckBox修改选中颜色并去除选中时的水波纹效果

前言


都知道Android原生的控件颜色比较辣眼睛,所以实际开发中都会有改动,而选中框是在实际开发中常用的,比如同意这个协议就勾选上。


先写一个控件


<CheckBox
        android:text="同意服务协议"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>


运行效果

20200330101133671.png


这就是原生的控件,请问这个颜色好看吗?


所以要改,在res文件夹下的values中的styles.xml文件中增加如下代码:


  <!--复选框样式,未勾选时为灰色,勾选好为黄色-->
    <style name="MyCheckBox" parent="Theme.AppCompat.Light">
        <item name="colorControlNormal">#ADB6AF</item>
        <item name="colorControlActivated">#F7F13D</item>
    </style>


然后在布局文件中应用这个样式:


  <CheckBox
        android:text="同意服务协议"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:theme="@style/MyCheckBox"/>

运行效果:


20200330102105292.png


这种修改方式是不同于通过background的来切换的,我保留了这个控件选中和取消选中的动画效果,只修改了选中前后的颜色,这种方式是比较好的,android:theme="@style/MyCheckBox",MyCheckBox是刚才我定义的样式名称。

去除选中时的水波纹效果其实一行代码就搞定了,就是把背景值为透明即可,

@android:color/transparent


修改布局文件:

  <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:text="同意服务协议"
        android:theme="@style/MyCheckBox" />


这时你再运行起来就可以了。

相关文章
|
6月前
|
Android开发
android 快速更改TabLayout的选中背景颜色。
android 快速更改TabLayout的选中背景颜色。
112 0
|
2月前
|
Android开发
Android经典实战之Textview文字设置不同颜色、下划线、加粗、超链接等效果
本文介绍了 `SpannableString` 在 Android 开发中的强大功能,包括如何在单个字符串中应用多种样式,如颜色、字体大小、风格等,并提供了详细代码示例,展示如何设置文本颜色、添加点击事件等,助你实现丰富文本效果。
246 3
|
5月前
|
Android开发 开发者
Android UI设计中,Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等,定义在`styles.xml`。
【6月更文挑战第26天】Android UI设计中,Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等,定义在`styles.xml`。要更改主题,首先在该文件中创建新主题,如`MyAppTheme`,覆盖所需属性。然后,在`AndroidManifest.xml`中应用主题至应用或特定Activity。运行时切换主题可通过重新设置并重启Activity实现,或使用`setTheme`和`recreate()`方法。这允许开发者定制界面并与品牌指南匹配,或提供多主题选项。
82 6
|
5月前
|
Android开发 开发者
Android UI中的Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等。要更改主题
【6月更文挑战第25天】Android UI中的Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等。要更改主题,首先在`styles.xml`中定义新主题,如`MyAppTheme`,然后在`AndroidManifest.xml`中设置`android:theme`。可应用于全局或特定Activity。运行时切换主题需重置Activity,如通过`setTheme()`和`recreate()`方法。这允许开发者定制界面以匹配品牌或用户偏好。
56 2
|
5月前
|
Android开发
在Android上实现图像颜色过滤与反转
在Android上实现图像颜色过滤与反转
182 0
在Android上实现图像颜色过滤与反转
|
6月前
|
XML Java Android开发
android背景颜色渐变及改变title颜色
android背景颜色渐变及改变title颜色
49 4
|
6月前
|
XML Java Android开发
Android控件之基础控件——进度条类的view——TextView、Checkbox复选控件、RadioButton单选控件、ToggleButton开关、SeekBar拖动条、menu、弹窗
Android控件之基础控件——进度条类的view——TextView、Checkbox复选控件、RadioButton单选控件、ToggleButton开关、SeekBar拖动条、menu、弹窗
676 1
|
6月前
|
Android开发
Android控件——Checkbox复选框、RadioButton单选、ToggleButton开关、SeekBar拖动条
Android控件——Checkbox复选框、RadioButton单选、ToggleButton开关、SeekBar拖动条
|
6月前
|
XML Java Android开发
[Android]CheckBox复选框
[Android]CheckBox复选框
155 0
|
6月前
|
XML Java Android开发
Android Studio入门之文本内容、大小、颜色的讲解及实战(附源码 超详细必看)
Android Studio入门之文本内容、大小、颜色的讲解及实战(附源码 超详细必看)
385 1