如何以编程方式为线性布局设置背景颜色?我尝试了以下代码,但没有工作:
LinearLayout footer = new LinearLayout(activity);
footer.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, 8));
footer.setBackgroundColor(Color.parseColor("##ffb5d6e1"));
((LinearLayout)v).addView(footer);
答案 0 :(得分:3)
我认为你的问题在于你的问题:
footer.setBackgroundColor(Color.parseColor("##ffb5d6e1"));
删除额外的'#'符号,使其符合:
footer.setBackgroundColor(Color.parseColor("#b5d6e1"));
我还删除了'ff',因为你实际上是将不透明度设置为100%,如果你只使用六个字符长的十六进制值,这默认就完成了。
答案 1 :(得分:1)
你走在正确的轨道上,但是犯了一个非常轻微的错误。
您使用的颜色格式错误。来自Android的官方文档,
支持的格式为:#RRGGBB #AARRGGBB或以下之一 名称:'红色','蓝色','绿色','黑色','白色','灰色','青色', 'magenta','yellow','lightgray','darkgray','grey','lightgrey', 'darkgrey','aqua','fuchsia','lime','maroon','navy','olive', '紫色','银色','青色'。
因此,基本上您使用错误的颜色格式用于parseColor()
方法。只需删除一个额外的#,你就可以了。
footer.setBackgroundColor(Color.parseColor("#ffb5d6e1"));
<强>奖金强>
为简单起见,您还可以从颜色中删除不透明度组件。您使用“ff”将不透明度设置为100%,但这也是默认行为。所以你可以删除这个组件并保持简单,就像这样,
footer.setBackgroundColor(Color.parseColor("#b5d6e1"));
答案 2 :(得分:0)
基本上这就是你需要设置背景颜色
please follow the following steps
实例化线性布局的视图 LinearLayout m =(LinearLayout)findViewByid(R.id.line1); m.setBackground(R.color.back);
答案 3 :(得分:0)
简单代码
LinearLayout m=findViewById(R.id.l3);
l3.setBackgroundColor(Color.parseColor("#84C8A9"));