在单选按钮programaticaly上设置按钮色调

时间:2018-04-24 12:18:32

标签: android radio-button

我想设置一个单选按钮色调programaticaly。在xml中有一个名为" buttonTint"的属性。做这项工作。但在程序中我无法找到任何方法来设置色调或颜色单选按钮。是否有任何方法或方法可以做到这一点?

 <RadioButton
    android:buttonTint="@color/colorPrimaryDark"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Payeer" />

3 个答案:

答案 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)));