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

android– 用于以编程方式使用十六进制值 ColorDrawable的按钮的setBackgroundTintList,第1张

概述我试图以编程方式设置按钮的背景色调,而不是像完成here那样设置颜色资源,而是设置为十六进制值.目前,我已将十六进制值转换为ColorDrawable,但不知道如何使用它来设置我的按钮的.setBackgroundTintList()方法的背景色调.请注意,这是在片段中完成的,上下文存储在名为mContext的全局

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

colorDrawable colorDrawable = new colorDrawable(color.parsecolor("#FFFFFF"));

解决方法:

在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
总结

以上是内存溢出为你收集整理的android – 用于以编程方式使用十六进制值/ ColorDrawable的按钮的setBackgroundTintList全部内容,希望文章能够帮你解决android – 用于以编程方式使用十六进制值/ ColorDrawable的按钮的setBackgroundTintList所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1108887.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存