在 Java 中以编程方式设置 android 复选框的属性



在我的应用程序中,我在运行时创建了 10 个复选框,我想以编程方式设置以下 xml 属性。我一直在到处寻找,找不到任何解决方案,我对安卓开发很陌生。将不胜感激任何帮助!

android:button="@null"
android:drawableTop="?android:attr/listChoiceIndicatorMultiple"

我一直在研究如何访问android:attr文件,但没有任何成功。

您可以使用setButtonDrawable来分配android:button="@null"

CheckBox checkBox = findViewById(R.id.checkbox);
checkBox.setButtonDrawable(null);    

您可以使用setCompoundDrawablesRelativeWithIntrinsicBounds()方法来分配可绘制对象。使用此代码获取?android:attr/listChoiceIndicatorMultiple的值:

TypedValue typeValue = new TypedValue();
getTheme().resolveAttribute(android.R.attr.listChoiceIndicatorMultiple,typeValue, true);
checkBox.setCompoundDrawablesRelativeWithIntrinsicBounds(0,typeValue.resourceId,0,0);
button.setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom);

对于可绘制对象

setButtonDrawable(Drawable d)

"对于"按钮

最新更新