android - 如何以编程方式从字符串设置布局背景色调?

标签 android layout colors hex android-linearlayout

我试过这段代码:

LinearLayout someLayout=(LinearLayout)view.findViewById(R.id.someLayout);
        someLayout.setBackgroundTintList(context.getResources().getColorStateList(Color.parseColor("#ff8800")));

但我收到一个错误:android.content.res.Resources$NotFoundException 我从外部源获取十六进制颜色,因此无法将其嵌入 colors.xml 中。 另外我想改变色调,而不是背景,所以 setBackground 不是一个选项。

最佳答案

我想我不能使用 getColorStateList() 所以我搜索了另一种方法来做到这一点。 最后,我能够使用以下代码设置色调:

LinearLayout someLayout=(LinearLayout)view.findViewById(R.id.someLayout);
        someLayout.getBackground().setColorFilter(Color.parseColor("#ff8800"), PorterDuff.Mode.SRC_ATOP);

这就像我更改了 xml 文件中的 backgroundTint 属性一样,所以它非常适合我的问题。

关于android - 如何以编程方式从字符串设置布局背景色调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47837460/

相关文章:

android - 加载 url 后无法隐藏 webview

javascript - 使用 plainroute react 多个布局(路由根)

wpf - 防止网格中的控件更改其列宽

c# - 如何使用 xssfworkbook npoi 设置字体中的 RGB 颜色

android - 视频在Android的Webview中只播放一次

java - 打印汉字的ESC/POS命令

r - R中的2d颜色渐变图

c# - 在 WPF 应用程序 C# 中设置所有矩形的背景

android - 为什么 Sony Xperia Z2 和 Galaxy S4 被排除在外?

javascript - 布置你的 JavaScript