当前位置: 首页 > 知识库问答 >
问题:

setBackgroundTintList用于以编程方式使用十六进制值/ColorDrawable的按钮

罗宪
2023-03-14

我正在尝试以编程方式设置按钮的背景色调,不是像这里所做的那样设置颜色资源,而是设置十六进制值。目前,我已将一个十六进制值转换为ColorDrawable,但不知道如何使用此值使用我的按钮的.setBackgroundTintList()方法设置背景色调。请注意,这是在一个片段中完成的,上下文存储在一个名为mcontext的全局变量中。

ColorDrawable colorDrawable = new ColorDrawable(Color.parseColor("#FFFFFF"));

共有1个答案

龙令
2023-03-14

在API+21上

btn.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#buttonColor")));

或Compat

         Drawable drawable = new ColorDrawable(Color.parseColor("color"));
         // Wrap the drawable so that future tinting calls work
         // on pre-v21 devices. Always use the returned drawable.
        drawable = DrawableCompat.wrap(drawable);


        DrawableCompat.setTint(drawable,Color.parseColor("colorTint"));
           //or tint list  
       //DrawableCompat.setTintList(drawable,ColorStateList.valueOf(Color.parseColor("#ffffff")));
        btn.setBackground(drawable); //apply drwable with tint to the ctn
 类似资料:
  • 问题内容: 我正在尝试在Swift中使用十六进制颜色值,而不是允许您使用的几个标准颜色值,但是我不知道该怎么做。 示例:如何将其用作颜色? 问题答案: 实际上是用十六进制表示的3种颜色分量- 红色,绿色和蓝色。您可以使用前缀在Swift中编写十六进制表示法,例如 为了简化转换,让我们创建一个采用整数(0-255)值的初始化程序: 用法: 如何获得阿尔法? 根据您的用例,您可以简单地使用本机方法,例

  • 此表中的颜色全部不透明。我猜 的值设置为 透明度的准则是什么? 例如,将此颜色FFF0F8FF(AliceBlue)转换为透明代码,如?

  • 问题内容: 我声明了一个字节数组(我正在使用Java): 如何打印存储在数组中的不同值? 如果我使用System.out.println(test [0]),它将打印‘10’。我希望它打印0x0A 谢谢大家! 问题答案: 或 (精美打印) 或 (精美打印)

  • 问题内容: 如何将十进制转换为以下格式的十六进制(至少两位,零填充,没有0x前缀)? 输入: 输出: 输入: 输出: 我尝试过,但似乎它显示了第一个示例,但没有显示第二个示例。 问题答案: 将该功能与格式一起使用。 该部分要求使用至少2位数字,并使用零将其填充到长度,表示小写的十六进制。 的 格式规范的迷你语言 也给你大写十六进制输出,并且可以前缀字段宽度与以包括或前缀(取决于你阉羊使用或作为格式

  • 问题内容: 这是我正在使用的功能,用于以编程方式使十六进制颜色变亮或变暗特定数量。只需传入一个颜色字符串()和一个以10为底的整数()来表示要变亮或变暗的数量。要变暗,请输入负数(即)。 我这样做的原因是因为我找到了所有解决方案,到目前为止,它们似乎使问题变得过于复杂。我觉得只需几行代码就可以完成。如果您发现任何问题或进行任何调整以加快速度,请告诉我。 对于开发使用,这里是一个易于阅读的版本: 最

  • 问题内容: 如何将RGB格式的颜色转换为十六进制格式,反之亦然? 例如,转换为。 问题答案: 注 :这两个版本的期待整数值,并且,所以你需要,如果你有非整数值做自己的舍入。 以下将执行RGB到十六进制的转换,并添加任何所需的零填充: 转换另一种方式: 最后,在答案中讨论并在@cwolves的评论中建议使用的替代版本: 更新 这是它的一个版本,还解析了一个速记的三元组,例如“#03F”: