gpt4 book ai didi

android - 以编程方式设置按钮背景颜色删除边距和圆角

转载 作者:行者123 更新时间:2023-11-29 15:09:58 24 4
gpt4 key购买 nike

这就是我如何创建大小均匀的 5x5 按钮网格:

buttons_in_row = 5;
LinearLayout layout = (LinearLayout) findViewById(R.id.linear_layout_tags);
layout.setOrientation(LinearLayout.VERTICAL);

for (int i = 0; i < buttons_in_row; i++) {
LinearLayout row = new LinearLayout(this);
row.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));

for (int j = 0; j < buttons_in_row; j++) {
Button btn = new Button(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1.0f);
btn.setLayoutParams(params);
btn.setText("B " + (j + 1 + (i * buttons_in_row)));
btn.setId(j + 1 + (i * buttons_in_row));
btn.setWidth(width / buttons_in_row);
btn.setHeight(width / buttons_in_row);
btn.setOnClickListener(this);

row.addView(btn);
}

layout.addView(row);
}

enter image description here

当我将背景色设置为默认值以外的其他颜色时,会发生以下情况:

btn.setBackgroundColor(Color.RED);

enter image description here

最佳答案

而不是使用

btn.setBackgroundColor(Color.RED);

使用

btn.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0xFFAA0000));

你可以根据你需要的颜色使用不同的值。如果你想知道颜色的常数值,你可以引用the documents .

此外,您还可以使用 PorterDuff 乘法模式以编程方式设置整个按钮的阴影。这将改变按钮颜色而不仅仅是色调。

例如红色阴影按钮

btn.getBackground().setColorFilter(0xFFFF0000, PorterDuff.Mode.MULTIPLY);

绿色阴影按钮

btn.getBackground().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);

希望这对您有所帮助。

关于android - 以编程方式设置按钮背景颜色删除边距和圆角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32794836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com