问题标签 [gradientdrawable]

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 投票
1 回答
455 浏览

android - 过渡 GradientDrawable

我有一个函数可以在我的背景上创建一个渐变MainActivity。渐变以编程方式创建为GradientDrawable. App 中的某些交互会改变渐变的颜色。

渐变和颜色已正确显示,并且它们确实会相应更改,但是,我希望对颜色更改进行过渡效果。现在,颜色立即过渡,没有交叉淡入淡出。

根据App中的交互,我用一个when语句来改变颜色GradientDrawable

我尝试将 GradientDrawable 转换为 TransitionDrawable (如上面注释的代码中所示),但崩溃与:

java.lang.ClassCastException: android.graphics.drawable.GradientDrawable 不能转换为 android.graphics.drawable.TransitionDrawable

如何在 GradientDrawable 颜色变化之间添加 1500 毫秒的过渡?

进度崩溃java.lang.NegativeArraySizeException: -16777216

0 投票
1 回答
40 浏览

android - 不确定如何完美使用 GradientDrawable

我在一项活动中需要一些输入来制作可绘制的形状。这是它的一个小例子:

但是当我想将它实现到微调器中时,我必须多次选择所有选项,这样我才能得到结果。还有一个按钮应该显示预览,但不起作用。

这是我的代码:

}

它以某种方式工作,但我不知道如何纠正它。我想要的是 - 如果可能的话 - 在值更改时直接显示预览。- 如果没有,在编辑完所有内容后,点击按钮获得结果。

我不知道,但我认为问题出在微调器上。

请问有什么帮助吗?

0 投票
0 回答
204 浏览

java - 如何更改波纹效果的纯色

我有一个具有 3 种自定义状态的切换按钮: - Pressed - Checked - Realeased

我正在使用以下 xml:

我想以编程方式更改此按钮的每个状态的背景颜色。我尝试使用以下代码:

它适用于“已检查”和“已发布”状态,因为我在 XML 中使用经典形状,但它不适用于“按下”状态,因为我在 XML 中使用了以下波纹效果:

似乎我必须在我的代码中使用“RippleDrawable”,但我真的不明白如何,我只是想更改纯色背景颜色,而不是波纹颜色或笔触。

谢谢

0 投票
1 回答
127 浏览

android - Android GradientDrawable 在布局编辑器预览中看起来不同

为什么 Android Studio 预览版和实际 Android 设备中的渐变看起来不同?以下是屏幕截图:在 Android Studio中
在此处输入图像描述

在此处输入图像描述
在我的安卓手机中

这是drawable/btn_background.xml文件:

这是两个按钮的 XML 代码:

这是一个错误还是什么?

0 投票
0 回答
201 浏览

android - setGradientCenter (gradientDrawable.setGradientCenter) 在 GradientDrawable 中不起作用

我正在创建 GradientDrawable 并且它工作正常。但是现在我需要给出 GradientDrawable 的 centerX 和 centerY 位置,我给出了下面的代码

但它不工作。setGradientCenter 没有改变我的drawable中的任何东西。

这是我在其中展示我的可绘制对象的 Imageview。

在此处输入图像描述

笔记:-

  1. 我尝试将 CenterXPosition 值设置在 0.0 到 1 之间
  2. 我试着给

    /li>

渐变中心保持在中心位置......没有任何移动..可能出了什么问题?感谢您的回答。

任何其他显示类似的解决方案也被接受。

0 投票
1 回答
350 浏览

unit-testing - 从 Kotlin 中的 GradientDrawable 获取颜色

我已经像这样以编程方式设置了 GradientDrawable 背景,并试图测试它的颜色。主要问题似乎是在测试时从形状(GradientDrawable)中获取颜色。

这个片段来自一个更大的绑定适配器。

测试是这样设置的..

不幸的是,我收到以下 ClassCastException

我在网站上看到了一些关于类似问题的帖子,

但似乎都没有工作,而且大多数最终都遇到了同样的问题。例如,测试背景色浓缩咖啡 Android

或者有看起来过时的答案或从 java 到 kotlin 转换的问题.. 例如如何从 GradientDrawable 获取颜色

0 投票
1 回答
33 浏览

android - 为什么 GradientDrawable.setCornerRadii 中的单角半径有两个值?

从 android docsGradientDrawable.setCornerRadii (float[] radii) 方法:

为 4 个角中的每一个指定半径。对于每个角,数组包含 2 个值

为什么每个角有 2 个值?一个角的两个值是什么意思?

0 投票
1 回答
86 浏览

java - 如何从android Marshmallow上的gradientDrawable获取颜色

我的应用程序使用GradientDrawable. 我必须从中获取颜色GradientDrawable并将其设置为背景。

有没有其他方法可以在 API 23 中获得这种颜色?

0 投票
0 回答
87 浏览

java - 为什么 ColorStateList 不适用于 GradientDrawable?

我正在尝试使用为不同状态设置的GradientDrawable设置TestView背景。当对GradientDrawable使用方法:setStrokesetColor(获取ColorStateList)时,似乎ColorStateList被忽略了。对于以下代码:

我得到以下输出:

2020-07-01 03:21:45.776 29138-29138/com.example.testcheckbox E/12345: 16842910 2020-07-01 03:21:45.776 29138-29138/com.example.testcheckbox E/12345: 16843597

如您所见,尽管只有一个状态,但我得到了两个 id,并且第一个 id 属于state_enabled const(它不是我设置的状态的一部分)。有人可以帮我解决这个问题吗?谢谢

0 投票
1 回答
29 浏览

android - 如何在运行时更改 android:bottom?

在 .xml 中设置 android:bottom="5dp" 时,它可以工作。但是现在,需要在运行时更改底部值。通过调试,xml 文件被解析为 GradientDrawable。那么,如何改变 GradientDrawable,使得设置底部值 wokrs?谢谢 !!!