我有以下自定义CompoundButton:

public class CustomCompoundButton extends CompoundButton {

public CustomCompoundButton(Context context) {

this(context, null);

}

public CustomCompoundButton(Context context, AttributeSet attrSet) {

super(context, attrSet);

setup();

}

private void setup() {

setBackgroundResource(R.drawable.button_selector);

setGravity(Gravity.CENTER);

setClickable(true);

}

}

在将布局添加到布局后,我从代码中设置了Button的宽度和高度:

button.getLayoutParams().width = myWidth;

button.getLayoutParams().height = myHeight;

button_selector.xml:

android:drawable="@drawable/button_checked"

android:state_checked="true" />

android:drawable="@drawable/button_unchecked"

android:state_checked="false" />

button_checked.xml:

android:shape="oval">

button_unchecked.xml:

android:shape="oval">

android:width="2dp"

android:color="?colorAccent" />

这按预期工作,未选中时按钮为空圆圈,选中时为实心圆圈.

问题是我无法在此行为之上添加涟漪效应.

我试图将选择器包装在ripple标签中,如下所示:

android:color="#ffffff">

android:drawable="@drawable/button_checked"

android:state_checked="true" />

android:drawable="@drawable/button_unchecked"

android:state_checked="false" />

这种方法存在多个问题:

>背景形状被涟漪完全覆盖,它们不再可见(无论它们是否被检查)

背景形状应该保持不变,我只想在点击按钮时添加涟漪效果(选中或取消选中)

>涟漪效应的半径太大,它们相互重叠

纹波半径应与我的按钮半径相同.

我不知道如何做这项工作,真的很感激任何建议.

android代码设置点击涟漪,android – 为自定义CompoundButton添加涟漪效果相关推荐

  1. android 代码设置dialog 全屏,Android里把Dialog设置为全屏的方法

    Android里把Dialog设置为全屏的方法 有的时候我们需要把Dialog设置为全屏,于是我们想到了如下的办法: //设置成全屏 LinearLayout.LayoutParams p = new ...

  2. android 代码设置EditText的hint字符

    今天,简单讲讲android里如何在代码里设置  EditText的hint字符. 之前,我一般是直接在xml文件设置EditText 的hint字符,后来需要在代码里修改hint字符,发现自己居 ...

  3. android 铃声设置失败,无法通过Android代码设置铃声

    我正在开发一个应用程序,它将随机设置用户已选择的铃声列表中的铃声.无法通过Android代码设置铃声 虽然我的代码适用于Android N及以上版本,但我遇到了Android M及以下版本的问题.我为 ...

  4. android 代码设置 键盘适应_Android自适应软键盘的Dialog以及监听软键盘弹起

    最近项目中遇到一个需求:新手引导.跟一般的新手引导没有什么太大区别,思路都是搞一个带阴影的遮罩层,然后在上边儿给一些提示性的文字,由于需求中有些特殊的地方,所以我用了一个全屏的dialog(而且,di ...

  5. android代码设置drawor色值,Android 着色器 tint

    本文主要总结了 Android 着色器的使用及其原理,在实现同等效果的情况下,减少资源图的使用以减小 apk 包的体积并降低对内存的占用. 假设我们想实现一种效果,如下: 不怎么友好的做法是让设计师给 ...

  6. android 代码设置alignleft,如何动态的设置Relative Layout中按钮的layout_align_parent_right属性...

    我动态的创建了一个Relative Layout:RelativeLayout layout = new RelativeLayout( this ); RelativeLayout.LayoutPa ...

  7. android 代码设置像素,【Android实例】用设计原则来重构1像素保活代码

    1 类图 在[FJU项目]1像素进程保活(二)中,涉及到的几个类的类图如下所示(仅供参考): 实线箭头:关联 虚线箭头:依赖 重构前UML类图在上图中,OnePixelManager里面有太多的职责, ...

  8. android代码设置maxlength,android-使用maxLength使用3个点结束TextView

    android-使用maxLength使用3个点结束TextView 我的布局中有一个TextView,它是layout_width中的wrap_content. 最多限制为15个字符,因此我正在使用 ...

  9. android代码设置弹窗颜色,Android编程实现简单设置按钮颜色的方法

    本文实例讲述了Android编程实现简单设置按钮颜色的方法.分享给大家供大家参考,具体如下: 1.工程目录 a.在res目录-新建drawble文件夹放入自定义图片 2.main.xml androi ...

  10. android 代码设置圆角,Android中用Shape实现圆角和局部圆角

    本文讲解如何实现布局边框的部分圆角 大家可能都知道圆角实现其实很简单, 在drawable文件夹下新建xml文件加入以下代码 情景1: 四个角均为圆角 android:shape="rect ...

最新文章

  1. mysql的模糊查询在xml_数据库模糊查询语句(mybatis中运用(xml文件))
  2. 武未转变服务器tp,未转变者怎么tp别人 | 手游网游页游攻略大全
  3. android 点击侧滑代码,代码分析Android实现侧滑菜单
  4. asp.net 读取excel文件的一些方法,NPOI方法
  5. JAVA能做flash游戏吗_FLASH+JAVA开发实时网络游戏 (转:闪客帝国)
  6. 关于TTThumbsViewController加载更多
  7. 使用IntelliJ IDEA创建SpringMVC项目
  8. ENVI的seamless mosaic工具详解
  9. ftp协议是一种用于什么的协议_购房协议怎么写?签购房协议要注意什么
  10. Day005 20210218-20210221
  11. PuTTY怎么读,PuTTY怎么发音,PuTTY的发音
  12. Wilcoxon符号秩检验及其matlab代码
  13. 合约战事风云 |链捕手
  14. SpringBoot整合elasticsearch (java整合es)
  15. 【LeetCode】复数乘法
  16. Maven手动添加dependency(以Oracle JDBC为例)
  17. 苹果系统设置http代理ip教程
  18. python一般用几个空格表示缩进_Python 就是使用缩进来表示代码块,一般使用几个空格来表示一个缩进_女子礼仪答案_学小易找答案...
  19. android输入法框架分析,Android与iOS输入法开发框架比较谈
  20. 京东数科“四位一体”布阵新基建沙场

热门文章

  1. 原画学习步骤,零基础一步步学原画
  2. PR常用的效果和转场,视频防抖、宽银幕效果、设置默认效果
  3. 汽车品牌如何运营用户?
  4. 永恒之蓝漏洞补丁-MS17010补丁列表KB号
  5. autojs控制台美化
  6. JSP 标准标签库(JSTL)(菜鸟教程)
  7. 数学与计算机相关的题目,数学与计算机毕业论文题目大全 数学与计算机毕业论文题目怎么定...
  8. HTML5标准制定完成,浏览器大战能消停吗?
  9. 和菜鸟一起学android4.0.3源码之鼠标光标绘制简略版
  10. MATLAB绘制对数幅频特性