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)
上一篇 2022年5月5日 下午7:00
下一篇 2022年5月5日 下午7:00


相关推荐

  • spring ioc源码解析_spring事务源码深度解析

    spring ioc源码解析_spring事务源码深度解析SpringApplication源码解析运行SpringApplication的方式在创建SpringBoot应用,我们经常看到SpringApplication.run(ApplicationConfiguration.class,args);那有没有其他方式可以运行SpringApplication,答案是有的。我们可以通过自定义SpringApplication来实现Sprin…

    2025年10月15日
    6
  • 深度学习之 RBF神经网络

    深度学习之 RBF神经网络RBF 神经网络通常只有三层 即输入层 中间层和输出层 其中中间层主要计算输入 x 和样本矢量 c 记忆样本 之间的欧式距离的 RadialBasisF RBF 的值 输出层对其做一个线性的组合 径向基函数 RBF 神经网络的训练可以分为两个阶段 第一阶段为无监督学习 从样本数据中选择记忆样本 中心点 可以使用聚类算法 也可以选择随机给定的方式 第二阶段为监督学习 主要计算样本经过 RBF 转换后 和输出之间的关系 权重 可以使用 BP 算法计算 也可以使用简单的数学公式计算

    2026年3月16日
    3
  • n8n工作流使用问题集合

    n8n工作流使用问题集合

    2026年3月15日
    1
  • GLM-5-Turbo:龙虾增强的基座模型

    GLM-5-Turbo:龙虾增强的基座模型

    2026年3月17日
    4
  • Jmeter 安装篇

    Jmeter 安装篇Jmeter安装篇Jmeter的安装其实很简单,网上的资料也很多。这里不多说了,直接上步骤。Step1:安装JDK最好安装1.6版本以上的,如果本地安装了JDK那就查看一下是否配置了环境变量。(Jmeter是用java开发的,它的运行依赖于java环境)有关环境变量的配置,请自行百度。网上图文教程还是非常丰富的。Step2:下载Jmeterhttp://jme

    2022年5月8日
    44
  • Qt HTML CSS颜色对照表

    Qt HTML CSS颜色对照表css颜色代码对照FFFFFF#DDDDDD#AAAAAAFFFFFF#DDDDDD#AAAAAA#888888#666666#444444#000000#FFB7DD#FF88C2#FF44AA#FF0088#C10066#A20055#

    2022年5月17日
    42

发表回复

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

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