问题标签 [rippledrawable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
22851 浏览

android - 具有透明背景的形状上的波纹

我在我的应用程序中使用以下形状

它在我的可绘制文件夹中。现在我正在将我的应用程序更新为 Lollipop,我希望对我使用的圆形按钮给出一个涟漪反馈。所以在drawable-v21文件夹中,我将其更改为波纹选择器:

但不幸的是,在 Lollipop 中使用上述可绘制对象并不会产生涟漪效果。<solid android:color="@android:color/transparent"/>是不是因为

谁能告诉我我哪里出错了?谢谢

0 投票
4 回答
27681 浏览

android - AppCompatButton backgroundTint API < 21

我想在按钮上使用波纹效果。AppCompat v22.1 为 AppCompat 着色添加了 AppCompatButton 和新功能。

我的布局:

在我的 API 22 测试设备上,涟漪效果完美运行,但我正在为 API 11 编码,不幸的是 backgroundTint 需要 API >= 21。如何在旧 API 版本上将涟漪效果设置为按钮?

0 投票
1 回答
3523 浏览

android - 以编程方式创建的 RippleDrawable 看起来与其对应的 xml 不同

我一直在尝试追踪这个问题一段时间。我想我前段时间确实找到了解释。不幸的是,它在某处的代码注释中丢失了。

我正在尝试Material Borderless-Button用 Java 创建一个。首先,这是框架中按钮的外观:

按钮 bg ( button_borderless_material.xml ):

drawable用作掩码(btn_default_mtrl_shape.xml):

inset-drawable( btn_default_mtrl_shape.xml )的 Java 等效项:

color参数是从主题中获得的-与xml 定义中attr/colorButtonNormal使用的颜色相同。android:tint

RippleDrawable编程方式创建:

我知道即使掩码颜色/形状没有在视觉上呈现,它的 alpha确实会影响RippleDrawable. 这不是问题 - 用于遮罩的所有颜色都有完整的 alpha。

我还确认了从属性中读取的颜色 - colorControlHighlight & colorButtonNormal- 对于正在播放的主题是正确的。

然而,结果是:

Xml 转译:

在此处输入图像描述

在 Java 中:

在此处输入图像描述

有趣的是,这发生在 API 21 上。在 API 22 上,两种方法产生相同的结果。

问题:

我确信这是 API 21 上的一个错误。如果有人能追踪到这一点,我们可能会找到一个 alpha/color 值的乘数来抵消这种视觉差异。

除了一般的善意外,我还承诺提供赏金,因为我已经在这方面花费了相当长的时间。

0 投票
3 回答
4215 浏览

android - 选定状态覆盖的 Android 波纹效果

在寻找了一段时间后,我一直无法找到这个问题的答案......

我有一个回收站视图,其中的项目在选择时具有红色背景和白色文本(事先背景为白色,文本为黑色)。为此,我使用了一个选择器。

我最近尝试为此添加涟漪效果,但除非我长时间单击该项目,否则该项目的背景会直接变为红色而没有涟漪。我假设这是因为选择器状态 state_selected 覆盖了 sate_pressed 上的波纹?

有谁知道是否有办法解决这个问题?这是我使用的选择器代码:

提前致谢!

0 投票
1 回答
604 浏览

android - Android-更改颜色并同时在布局上产生涟漪

我有一个LinearLayout. 我已经对其应用了涟漪效应,效果很好。我正在做的是当用户点击它时,它应该将其颜色更改为白色(默认为灰色)。如果再次单击,它应该再次变为灰色。这是我使用layout.setBackgroundColor(Color.WHITE);.

但我想要涟漪和这种颜色切换。如果我使用setBackgroundColor,涟漪效应就会消失。关于如何做到这一点的任何线索?

涟漪的 XML(背景LinearLayout):

请为前棒棒糖设备建议等效的解决方案。前棒棒糖的背景LinearLayout是,

0 投票
1 回答
5778 浏览

android - RippleDrawable 遮罩颜色,它是干什么用的?

参考 Android L 的 RippleDrawable,https://developer.android.com/reference/android/graphics/drawable/RippleDrawable.html,有一种方法可以掩盖视图中的涟漪效果。掩蔽完成为

我们也可以使用

正如文档中提到的,遮罩层并没有在屏幕上绘制,而只是掩盖了涟漪效果。我很好奇,为什么要在那里设置颜色(白色或黑色或任何颜色)?我们中是否有任何重要的设置颜色作为遮罩,或者它确实是任何值?

希望有人开导...谢谢!

0 投票
5 回答
35029 浏览

android - Android 波纹背景颜色

我在导航抽屉上使用了涟漪效应。我已将其设置为这样并将其应用于我的 ListView:

我希望波纹背景保持与正常激活状态相同。即使我将颜色定义为与激活状态相同,它也会变得更暗,并且波纹气泡变得更暗。如何将背景着色为与激活状态相同的颜色,并将波纹气泡着色为我告诉它的颜色?

0 投票
1 回答
2509 浏览

android - 保持笔划内的波纹

我正在尝试为a 中风创建ripple背景。drawableButton

这是我到目前为止所拥有的:

但是有了这个解决方案,波纹与我的中风重叠。
我只想要ripple中风,我该怎么做?

0 投票
5 回答
27172 浏览

android - 如何为前棒棒糖创建涟漪效果

如何应用这样的涟漪效果

我已将依赖项放在 app/build.gradle

应用程序/build.gradle

构建.gradle

XML 文件:

Java 类文件

它可以工作,但我的问题是在涟漪效果完成之前打开另一个活动,当我按下后退按钮时,剩余的涟漪完成。我该如何解决?

0 投票
1 回答
2982 浏览

android - 如何使波纹效果看起来像圆形而不是椭圆形?

我的大多数图像按钮都有相同的涟漪效果,并且在大多数按钮上,按下时它看起来像一个圆圈,但在某些按钮上它看起来像一个椭圆形,我只是不确定为什么它看起来不同。我意识到实际的波纹形状设置为椭圆形,但为什么它在其他一些按钮上看起来像一个圆圈。可能是因为它发生得如此之快,所以我只是看错了。

这是我的波纹 xml:

谢谢。

编辑:原来是我layout_weightImageButtons内部使用的一个问题LinearLayout。我从单个按钮中删除了权重,而是在每个按钮之间添加了权重为 1 的空格,如下所示: