5

如何以编程方式为线性布局设置背景颜色?我尝试了以下代码但无法正常工作:

LinearLayout footer = new LinearLayout(activity);
footer.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, 8));
footer.setBackgroundColor(Color.parseColor("##ffb5d6e1"));
((LinearLayout)v).addView(footer);
4

4 回答 4

3

我认为您的问题在您的行中:

footer.setBackgroundColor(Color.parseColor("##ffb5d6e1"));

删除额外的“#”符号,使其成为:

footer.setBackgroundColor(Color.parseColor("#b5d6e1"));

我还删除了“ff”,因为您实际上将不透明度设置为 100%,如果您只使用六个字符长的十六进制值,则默认情况下会这样做。

于 2014-09-14T07:01:13.317 回答
2

你在正确的轨道上,但犯了一个非常的错误。

您使用的颜色格式错误。来自Android的官方文档,

支持的格式有:#RRGGBB #AARRGGBB 或以下名称之一:'red'、'blue'、'green'、'black'、'white'、'gray'、'cyan'、'magenta'、'yellow' ,'lightgray','darkgray','grey','lightgrey','darkgrey','aqua','fuchsia','lime','maroon','navy','olive','purple','银','蓝绿色'。

所以,基本上你为该方法使用了错误的颜色格式parseColor()。只需删除一个额外的 # 即可。

footer.setBackgroundColor(Color.parseColor("#ffb5d6e1"));

奖金

为简单起见,您还可以从颜色中删除不透明度组件。您正在使用“ff”将不透明度设置为 100%,但这也是默认行为。所以你可以删除这个组件并保持简单,就像这样,

footer.setBackgroundColor(Color.parseColor("#b5d6e1"));
于 2016-08-21T06:16:20.553 回答
0

基本上这是你需要设置背景颜色

please follow the following steps

实例化线性布局的视图,如 LinearLayout m=(LinearLayout)findViewByid(R.id.line1); m.setBackground(R.color.back);

于 2014-09-14T06:30:45.447 回答
0

简单代码

LinearLayout m=findViewById(R.id.l3);
l3.setBackgroundColor(Color.parseColor("#84C8A9"));
于 2021-02-23T09:48:43.617 回答