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

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

葛胜泫
2023-03-14

我尝试了以下代码:

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

但是我得到了一个错误:android。所容纳之物res.Resources$NotFoundException我正在从外部源获取颜色十六进制,因此无法将其嵌入颜色中。xml。此外,我想改变色调,而不是背景,所以挫折是不是一个选项。

共有3个答案

佟云
2023-03-14

对于Kotlin,我修改了@Krestek答案:

someLayout.background.setColorFilter(Color.parseColor("#ff8800"), PorterDuff.Mode.SRC_ATOP)
终彬郁
2023-03-14

我可以使用下面的行来管理。根据你的情况改变它。

myView.getBackground().setTint(currentView.getResources().getColor(R.color.colorAccent));
羊新翰
2023-03-14

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

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

这就像我改变了xml文件中的背景色调属性一样,所以它非常适合我的问题。

 类似资料:
  • 我想绕过视图的各个角落,并在运行时根据内容更改视图的颜色。 我希望设置一个可绘制的和颜色会重叠,但他们没有。我第二次执行的那一个就是生成的背景。 有没有办法以编程方式创建这个视图,记住背景颜色要到运行时才会决定? 编辑:我现在只在红色和蓝色之间交换测试。稍后,颜色将由用户选择。 编辑: 标记为圆角。xml:

  • 问题内容: 我有一个返回一个函数的包装函数。有没有办法以编程方式设置返回函数的文档字符串?如果可以写信,请执行以下操作: 那我可以做 但是,由于是只读的,所以我不能这样做。正确的方法是什么? 编辑:好的,我想保持这个简单,但是,这当然不是我真正想做的。即使就我而言通常是可写的,但事实并非如此。 我正在尝试自动创建测试用例。我有一个包装函数,该函数创建一个类对象,该类对象是的子类: 如果我创建此类并

  • 问题内容: 设置背景: 是最好的方法吗? 问题答案: ;是正确的。 实现它的另一种方法是使用以下方法: 但我认为出现此问题是因为你尝试加载大图像。 这是一个很好的教程,介绍如何加载大位图。 更新: API级别22中不推荐使用getDrawable(int) 现在API级别22中不推荐使用。你应该改用支持库中的以下代码: 如果你引用的源代码,它将为你提供以下信息: 有关ContextCompat的更

  • 问题内容: 以下代码中的行无效。为什么?我该如何解决? 问题答案: 您需要调用小部件。默认情况下,a不会填充背景。 有关更多信息,请参见该属性的文档。 如果要使用任意背景色,则需要修改小部件的调色板:

  • 我有一个mp4文件,其中视频的背景颜色为纯色,如白色/绿色/蓝色。我想改变背景颜色。请让我知道如何改变颜色编程使用Android.

  • 问题内容: 当我尝试在Swift中创建按钮并设置背景图片时: 我总是收到一个错误:“ 无法将表达式的类型’Void’转换为’UIImage’ ”。 问题答案: 您的代码应如下所示