如何更改波纹可绘制的纯色?

2023-12-09

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
        android:color="?android:attr/colorControlHighlight">
    <item>
        <selector>
            <item android:state_selected="true">
                <layer-list>
                    <item android:left="-5dp"
                          android:top="-5dp"
                          android:right="-5dp">
                        <shape android:shape="rectangle">
                            <stroke android:width="3dp"
                                    android:color="@android:color/white"/>
                            <solid android:color="@android:color/transparent"/>
                        </shape>
                    </item>
                </layer-list>
            </item>
            <item android:state_selected="false">
                <shape android:shape="rectangle">
                    <solid android:color="@android:color/transparent"/>
                </shape>
            </item>

        </selector>
    </item>
</ripple>

这是我的波纹可绘制,我想改变状态选择, solid color.

我尝试过的代码:

RippleDrawable rippleDrawable = (RippleDrawable) textView.getBackground(); // assumes bg is a RippleDrawable
        int[][] states = new int[][]{new int[]{android.R.attr.state_selected}};
        int[] colors = new int[]{R.color.white}; 
        ColorStateList colorStateList = new ColorStateList(states, colors);
        rippleDrawable.setColor(colorStateList);

不幸的是它不起作用..我错过了什么,这可能吗?


您应该向项目添加一个 id 以便通过 java/kotlin 访问它们。
检查这个后台 XML 文件

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="#e0e0e0">
   <item android:id="@+id/fab_shape">
      <shape xmlns:android="http://schemas.android.com/apk/res/android"
         android:shape="rectangle">
         <corners android:radius="25dp" />
        <solid android:color="@color/colorAccent" />
     </shape>
  </item>
</ripple>

要更改其纯色,请在constraintLayout背景上应用此可绘制XML

val background = constraintLayout.background as RippleDrawable
val bgShape = background.findDrawableByLayerId(R.id.fab_shape) as GradientDrawable
bgShape.color = color

以供参考读这个

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改波纹可绘制的纯色? 的相关文章

  • 在根项目“bin”中找不到任务“bintrayUpload”

    我遵循了将 AAR 文件发布到 JCenter 所需的每个步骤 然后使用 Maven Central 将其同步https github com danielemaddaluno gradle jcenter publish https gi
  • 使用 JSONArray 还是普通数组来存储/读取数据更有效?

    我正在使用一个连接到PHP MySQL返回所有内容的服务器JSON格式 例如 用户列表作为JSONArray of JSONObject 每个对象都包含单个用户的信息 姓名 位置 电话号码等 处理这种格式的信息时 将所有内容保留在其中会更有
  • 如何在 Android 中更改 Drawable 的颜色?

    我正在开发一个 Android 应用程序 并且我有一个从源图像加载的可绘制对象 在此图像上 我想将所有白色像素转换为不同的颜色 例如蓝色 然后缓存生成的 Drawable 对象 以便稍后使用它 举例来说 假设我有一个 20x20 PNG 文
  • 如何在应用程序关闭时在 Android 通知中显示操作按钮?

    我有一个安卓应用程序 对于通知 我们必须显示一些操作按钮 当应用程序打开时 我们可以自由地构建通知并显示操作按钮 但是当应用程序关闭时 通知会在 Android 的通知托盘中收到 应用程序开发人员无法控制构建用户界面和操作按钮 我们现在如何
  • 如何在android中显示对话框之外的图像?

    我试图在对话框片段的顶部显示配置文件图像 一半在图像之外 我在下面附加了示例对话框 就像那样 并尝试了旧 Stackoverflow 解决方案中的所有 FrameLayout 协作 但我无法存档此内容 请给我正确的解决方案 谢谢 Updat
  • Android:初始化本机 AudioRecord 对象时 AudioRecord 错误代码 -20

    Android 我想从麦克风读取缓冲区 以便我可以对其执行处理 以下是我的代码 int sampleRateInHz 8000 44100 22050 and 11025 int channelConfig AudioFormat CHAN
  • Android 中的 Fragment-Fragment 通信

    我在Android编程方面处于初级水平 所以我需要你真诚的帮助 请任何人帮助我 我正在尝试使用片段构建滑动用户界面 所以我真正的疑问是 我有一个Fragment say FragmentA 它有一个TextView and Button在其
  • 在 gradle 中,我应该排除分支下的所有依赖项还是只排除根就足够了?

    我已将以下自定义任务添加到我的build gradlefile 为了打印出依赖项的依赖项 This part is useful for finding conflict resolution s between dependencies
  • 吉夫伦致命信号11

    我正在尝试使用一些本机代码来创建 Gif 我使用绘画绘制图像 创建一些笔画 单击 保存 绘制的图像将保存为 JPG 格式 当我单击 创建 Gif 时 它会获取所有图像并开始创建 gif 这是当我收到致命信号 11 并且应用程序重新启动时 我
  • 覆盖 Android 中的电源按钮

    我正在开发一个应用程序 其中我需要在按下电源按钮时执行一个操作 但不幸的是我无法处理按下电源按钮时的操作 我尝试使用 onKeyDown 和dispatchKeyEvent 方法 但似乎没有任何效果 任何人都可以建议我解决这个问题的任何其他
  • 如果使用grifika的ContinualCaptureActivity中的预览方式,相机预览的视野会更小

    我们知道 当相机预览比例设置为时 在相同距离下我们会得到更大的预览视野4 3代替16 9 具体如下 Android Camera API 奇怪的缩放效果 https stackoverflow com questions 20664628
  • ADB TCPIP 连接问题

    我有两台 Galaxy S3 其中一个已扎根 另一个则未扎根 因此 当我尝试通过本地网络连接它们时 计算机可以看到已root的计算机 但是正常的就卡在tcpip这一步了 所以 我写 adb tcpip 5555 It says restar
  • ExpandableListview OnGroupClickListener 未触发

    我正在关注这个 以编程方式折叠 ExpandableListView 中的组 https stackoverflow com questions 4314777 programmatically collapse a group in ex
  • 在android中,将相机预览流到视图上

    我想将 Android 相机的相机预览流式传输到视图上 目的是随后使用 onDraw 将各种内容添加到视图中 我不需要随时实际捕捉图像 它不必是最高质量或每秒最大数量的帧 有谁知道如何做到这一点 将其添加到您的 xml 中
  • 如何为我的 Android Market APK 创建证书?

    我想将我的第一个 APK 应用程序上传到 Android Market 但我收到了此错误 顺便说一下 在 stackoverflow 中搜索时并没有引导我找到正确的链接 市场不接受使用调试证书签名的 APK 创建有效期至少 50 年的新证书
  • 安卓。 CalendarView...一次仅显示一个月的日历

    我正在使用 CalendarView 其中我想一次仅查看一个月的日历并滚动查看下个月 但 CalendarView 一次显示所有月份 下面是我的代码
  • 哪个视图最亮?

    在Android中 哪个是轻量级视图 例如 View Textview Edittext 等 在某些情况下 我们需要使用视图来填充区域而不向用户显示视图 同时屏幕加载速度应该很快 您可以使用空间 android widget Space S
  • 当目标小于 Android O 时,如何在 Android O 上创建快捷方式?

    背景 Android O 对快捷方式的工作方式进行了各种更改 https developer android com preview behavior changes html as https developer android com
  • 禁用 Android 菜单组

    我尝试使用以下代码禁用菜单组 但它不起作用 菜单项仍然启用 你能告诉我出了什么问题吗 资源 菜单 menu xml menu menu
  • 从文件路径显示图像视图?

    我需要仅使用文件名而不是资源 ID 来显示图像 ImageView imgView new ImageView this imgView setBackgroundResource R drawable img1 我在可绘制文件夹中有图像

随机推荐

  • Python:如何在其他函数中使用一个函数中的命名变量

    我是一名新手程序员 试图使用 Python 3 3 2 编写一个程序 该程序具有main 调用的函数function1 然后循环function2 and function3 我的代码通常如下所示 def function1 print h
  • 阻止禁用用户 firebase 规则

    我不确定这是否有效 但我想知道如果用户已被禁用 是否可以在规则中阻止存储 firestore 读 写 这可能吗 上下文 auth 禁用 或者我是否只需要等待令牌过期 用户就被拒绝访问 禁用用户意味着他们无法再登录 也无法刷新其 ID 令牌
  • python 字符串搜索替换

    SSViewer set theme bullsorbit 这是我的绳子 我想在字符串中搜索 SSViewer set theme bullsorbit 并替换 bullsorbit 用另一根绳子 bullsorbit 字符串是动态变化的
  • IE8 内部 HTML 错误

    这个innerHTML代码在IE8中不能可靠地工作 但正在 IE6 IE7 FF Opera Chrome Safari 中工作 通过不可靠地工作 我的意思是我已将此代码放置在各种元素上的 onmouseover 处理程序中 有时当鼠标悬停
  • 表单嵌套在表中时的 jQuery 表单提交

    是否有原因导致表单无法在表内使用 jQuery 提交 或者我只是做错了什么 我已经在表格外测试了表单提交 然后当我将其包装在表格内时 它就停止工作 即使我添加了额外的parent 来弥补上方移动的形式 td 代码中的元素 有人可以帮我解决这
  • AJAX 响应在 C++ 中无效,但在 Apache 中无效

    我想制作一个用 C 编写的服务器来支持我的游戏 我学习了套接字的基础知识 并编写了一个运行良好的基本聊天程序 现在我想创建一个像 Apache 一样的 HTTP 服务器 但仅限于 AJAX 请求响应部分 我想一开始我复制了一个 Apache
  • Rails 3 + PDFKit 问题:权限被拒绝 (Errno::EACCES)

    我想用PDFKit在我的 Rails 3 应用程序中在 Windows 上 我安装了wkhtmltopdf和pdfkit gem 这是我用来创建 PDF 的代码 class JobsController lt ApplicationCont
  • 如何创建 POI Word 格式的电子邮件链接

    如何在电子邮件中创建外部链接或电子邮件链接XWPF文档 有一个描述Excel HSSF XSSF 但我还没有找到与 Word HWPF XWPF 类似的内容 public void example throws Exception XWPF
  • Android Studio:测试:使用 java 8 或更高版本编译的库依赖项

    请帮忙 我在为 android studio 设置测试时经历了一段非常糟糕的时光 我已经从 cucumber github 下载了计算器示例来练习 cumcumber 代码测试 https github com cucumber cucum
  • Pepper 机器人:上传 python 模块

    我正在编程一个辣椒机器人 with 编舞我正在使用一个真正的机器人 我遇到的问题是如何将 python 模块安装到机器人上 因为我需要使用requests包进行 API 调用 我一直在互联网上浏览 但没有找到任何解决方案 出于安全原因 根访
  • 如何从直线访问Metastore?

    我需要做一些 SQL 查询 如here 直接来自 Metasore PS 命令 SHOW DESCRIBE 是not足够的 如何启用它作为数据库的访问 或者 Metastore 的数据库名称是什么 现在 2019年 有可能吗 NOTES W
  • 覆盖/修改 Rails 类 (ActiveResource)

    我现在一直在努力解决 ActiveResource 的问题 当主机名解析 ActiveResource 请求 但另一端没有服务器返回信息时 ActiveResource 的超时值不起作用 请求只是挂起 在查看 ActiveResource
  • Windows 命令提示符下 Python 3.6 中的模块未找到错误

    我创建了一个如下项目 project package1 init py module1 py package2 init py module2 py 我想将 module1 导入到 module2 中 from package1 impor
  • 如何在 Ansible 中交替替换多个列表的元素?

    我有多个列表作为输入 所有列表都具有相同的长度 但输入可以有超过 3 个列表 我想创建一个列表 它是所有交替其元素的输入列表的总和 例如 给定以下输入 data 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 我期待
  • ByteBuffer.asCharArray().array() 上出现 UnsupportedOperationException

    有人能好心解释一下为什么在下一行我有 UnsupportedOperationException 吗 System out println ByteBuffer wrap new byte t e s t n asCharBuffer ar
  • RxJS 排队相关任务

    如果我有一个像这样的数组数组 parent name stu children name bob name sarah 我想循环遍历每个父级并依次循环遍历它们的子级 这样我就不会启动下一个父级 直到所有子级都已处理完毕 一些漫长的异步过程
  • 为什么 System.Windows.Forms.Control MousePosition 属性可以读取,但 Location 属性不能读取?

    我从某个网站复制了这个 PowerShell 代码 它显示了鼠标的当前位置 Reflection Assembly LoadWithPartialName System Windows Forms Out Null control Syst
  • 在 php 中压缩数据并在 javascript 中解压缩 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 大家好 有没有办法压缩从 php 服务器 发送的数据 然后使用 javascript 客户端 解压缩数据 感谢您 我必须同意 Domenic 的回答 Nishchay Sharm
  • 强制 VBA 等待 Power Pivot 完成刷新

    我在 VBA 中遇到了一个非常不寻常的错误 我已经为此苦苦挣扎了两天 我有一个代码 可以更新要在 Active x 下拉列表中显示的值 然后使用ListFillRange财产 不幸的是 每次我运行它时都会产生错误 我认为该错误是由于在电源枢
  • 如何更改波纹可绘制的纯色?