- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
首先,我将绿色设置为 View mIcon 的背景,
View mIcon = findViewById(R.id.xxx);
GradientDrawable gdraw = (GradientDrawable) mContext.getResources().getDrawable(R.drawable.roundbtn_white_normal);
gdraw.setColor(Color.GREEN);
mIcon.setBackgroundDrawable(gdraw);
然后,我不知道如何从此 View 的背景中获取颜色...没有 getColor()函数...
最佳答案
到目前为止,以下类(class)对我来说效果很好。
import android.content.res.Resources;
...
// it's the same with the GradientDrawable, just make some proper modification to make it compilable
public class ColorGradientDrawable extends Drawable {
...
private int mColor; // this is the color which you try to get
...
// original setColor function with little modification
public void setColor(int argb) {
mColor = argb;
mGradientState.setSolidColor(argb);
mFillPaint.setColor(argb);
invalidateSelf();
}
// that's how I get the color from this drawable class
public int getColor() {
return mColor;
}
...
// it's the same with GradientState, just make some proper modification to make it compilable
final public static class GradientState extends ConstantState {
...
}
}
关于android - 如何从 GradientDrawable 获取颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25816581/
我正在尝试调试 ExpandableListAdapter.getChildView 遇到的问题。 我定义了一个 Drawable,其形状包含渐变和一个半径为 1 的角作为列表项的背景 - 那里没有什
在我的应用程序中,我试图从代码中绘制一个 gradientBackground。我的目标是让这个背景动态。 现在我的问题是下面这个函数是我正在谈论的函数,并且有一个参数 int[] colors Gr
我有以下 GradientDrawable 的 xml。如何以编程方式更改角度? 最佳答案 GradientDrawable 有一个方法叫做:.setOrientation(Gradie
根据我的阅读,您可以使用 gradientDrawable并为其设置三种颜色,例如: 但是如果我想要三种以上的颜色,不仅如此,我还希望能够设置每种颜色的放置位置(重量/百分比)? 是否可以使用 AP
我可以使用下面的 XML 就好了 渐变效果很好 我正在尝试仅使用代码(无 XML)来做同样的事情 int colors[] = { 0xff255779 , 0xff3e74
当您使用具有笔划宽度的 xml 将可绘制对象分配给 View 时,它工作正常。当我尝试在运行时动态分配它并更改笔划宽度时,它似乎不起作用。 您可以在快照中找到结果和代码here 基本上, 左 View
我有以下渐变(动态生成): GradientDrawable dynamicDrawable = new GradientDrawable(); dynamicDrawable.set
我试图让 GradientDrawable 动态改变它的渐变中心。我有简单的测试 View ,它只是用渐变绘制来绘制背景。然后我写了这样的代码: public class TestActivity e
首先,我将绿色设置为 View mIcon 的背景, View mIcon = findViewById(R.id.xxx); GradientDrawable gdraw = (GradientDr
我有这个图层列表:
首先,我将绿色设置为 View mIcon 的背景, View mIcon = findViewById(R.id.xxx); GradientDrawable gdraw = (GradientDr
我有一个 xml 文件,里面有一个选择器,它定义了按钮的不同状态: 然后在我的每个可绘制 xml 中,我都有关于按钮外观的信息: 对于我应用程序中的大多数按钮,我只应用第一个 x
我在为我的小部件设置动态背景时遇到问题: 我的首选项返回用户选择的颜色,我想将它应用到小部件但具有渐变效果。所以这就是我现在的位置: 我的 widget.xml: ... 我的服务.java: p
我尝试使用 GradientDrawable 为某些背景和按钮设置渐变。可悲的是documentation不是很详细。 配置渐变的主要属性有哪些?我了解 start 和 endcolor 但其他一些属
如何使用角度参数自定义 Brush.linearGradient(),例如 O、45、90、135... 或其他任何角度? 谢谢。 最佳答案 为 LinearGradient 设置任意角度似乎是个好主
这是我想做的:我有一个小部件,我想根据用户选择的颜色设置它的背景。它必须是一个渐变。背景是通过设置linearLayout的背景来设置的。为了测试,我做了一个虚拟背景: remoteViews.set
我有一个这样的背景图: 我想改变card_background 的颜色。当
我是 Android 开发新手,对 ShapeDrawable 和 GradientDrawable 类有些困惑。有什么区别? 最佳答案 形状定义了矩形、椭圆形、线形或环形等形状。渐变用于定义形状的外
我正在创建一个自定义按钮,我正在使用 Drawable.setTintList 为默认、按下和禁用状态设置颜色。 我实际上想为按钮添加边框,我正在尝试这样做: val d = newGradientD
我在 Android 中设置布局颜色时遇到了一个烦人的问题; 这就是我的元素在layout.xml中的样子(LinearLayout中的FrameLayout(绘制元素)):
我是一名优秀的程序员,十分优秀!