我想设置一个单选按钮色调programaticaly。在xml中有一个名为" buttonTint"的属性。做这项工作。但在程序中我无法找到任何方法来设置色调或颜色单选按钮。是否有任何方法或方法可以做到这一点?
<RadioButton
android:buttonTint="@color/colorPrimaryDark"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Payeer" />
答案 0 :(得分:3)
根据先前的两个答案,用于设置背景颜色的一行代码是
Java代码
button.setButtonTintList(ColorStateList.valueOf(getColor(R.color.red)));
科林代码
button.buttonTintList=ColorStateList.valueOf(getColor(R.color.red))
答案 1 :(得分:2)
您可以使用setButtonTintList (ColorStateList tint)
对可绘制按钮应用色调。不修改当前的色调模式,默认情况下为SRC_IN。
对
setButtonDrawable(Drawable)
的后续调用将自动改变drawable并使用setTintList(ColorStateList)
应用指定的色调和色调模式。
示例代码
public class MainActivity extends AppCompatActivity {
RadioButton radioButton;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
radioButton = findViewById(R.id.radioButton);
ColorStateList myColorStateList = new ColorStateList(
new int[][]{
new int[]{getResources().getColor(R.color.colorPrimaryDark)}
},
new int[]{getResources().getColor(R.color.colorAccent)}
);
radioButton.setButtonTintList(myColorStateList);
}
}
答案 2 :(得分:0)
使用以下代码:
button.setBackgroundTintList(ColorStateList.valueOf(resources.getColor(R.id.red)));