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

android代码设置点击涟漪,android – 为自定义CompoundButton添加涟漪效果我有以下自定义CompoundButton:publicclassCustomCompoundButtonextendsCompoundButton{publicCustomCompoundButton(Contextcontext){this(context,null);}publicCustomCompoundButton(Contextcontext,Attribut…

大家好,又见面了,我是你们的朋友全栈君。

我有以下自定义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” />

这种方法存在多个问题:

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

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137681.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java集合详解8:Java集合类细节精讲

    Java集合详解8:Java集合类细节精讲今天我们来探索一下Java集合类中的一些技术细节。主要是对一些比较容易被遗漏和误解的知识点做一些讲解和补充。可能不全面,还请谅解。本文参考:http://cmsblogs.com/?cat=5具体代码在我的GitHub中可以找到https://github.com/h2pl/MyTech文章首发于我的个人博客:https://h2pl.github.io/2018/05/13/…

    2022年5月5日
    37
  • html网页中加入音乐播放器,[HTML5]简单网页本地音乐播放器[通俗易懂]

    html网页中加入音乐播放器,[HTML5]简单网页本地音乐播放器[通俗易懂]既然HTML5提出与本地交互方便,就想写个HTML5的本地音乐播放器。一开始问题主要集中在怎么读取本地文件路径,我想肯定可以用JS实现去操作本地文件(因为node.js很容易实现读取本地文件,但是原生JS怎么写不太清楚),不过简单一点就用这样只能读取一个,我想做的是最好是把一个文件夹中的都取出来,然后参考http://sapphion.com/2011/11/html5-folder-upload…

    2022年6月21日
    23
  • 死锁的四个必要条件和解决办法_半暖的博客_活锁和死锁的概念

    死锁的四个必要条件和解决办法_半暖的博客_活锁和死锁的概念死锁概念及产生原理   概念:多个并发进程因争夺系统资源而产生相互等待的现象。   原理:当一组进程中的每个进程都在等待某个事件发生,而只有这组进程中的其他进程才能触发该事件,这就称这组进程发生了死锁。   本质原因:     1)、系统资源有限。     2)、进程推进顺序不合理。死锁产生的4个必要条件  1、互斥:某种资源一次只允许一个进程访问,即该资源一旦分配给某个进程…

    2022年4月20日
    65
  • istio框架(istio故障注入)

    创建HTTPS证书的secretkubectlcreate-nistio-systemsecretgenericall-test.com-credential–from-file=key=private.key–from-file=cert=full_chain.pem创建网关kubectlapply-ftest-gateway.yamlapiVersion:networking.istio.io/v1beta1kind:Gatewaymetadata:

    2022年4月17日
    44
  • MPU9250传感器

    MPU9250内部包括3轴陀螺仪、3轴加速度计和3轴磁力计,这3个功能输出都是16位的数字量;可以通过常用的数据总线(IIC)接口和单片机进行数据交互,传输速率400kHz/s。陀螺仪的角速度测量范围±2000(°/s),具有良好的动态响应特性。加速度计的测量范围最大为±16g(g为重力加速度),静态测量精度高。磁力计采用高灵度霍尔型传感器进行数据采集,磁感应强度测量范围为±4800μT,可用于对偏航角的辅助测量。MPU9250自带的数字运动处理器DMP硬件加速引擎,可

    2022年4月8日
    198
  • sublimetext3激活码(注册激活)

    (sublimetext3激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS32PGH0SQB-eyJsa…

    2022年3月25日
    263

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号