创建此样式后:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/offer_text_background</item>
<item name="colorPrimaryDark">@color/app_background</item>
<item name="android:checkboxStyle">@style/settingsNotificationCategory</item>
</style>
<style name="settingsNotificationCategory">
<item name="android:textSize">30sp</item>
</style>
我的复选框中的框正在删除:
没有这种样式:
我需要在kotlin中动态创建chceckbox:
var checkBox = CheckBox(this)
checkBox.text = category
checkBox.setTextColor(resources.getColor(R.color.customText))
checkBox.isChecked = true
notificationCategoryLayout.addView(checkBox)
发生了什么事?
我尝试过:
var checkBox = CheckBox(this, null, R.style.settingsNotificationCategory)
checkBox.text = category
checkBox.setTextColor(resources.getColor(R.color.customText))
checkBox.isChecked = true
notificationCategoryLayout.addView(checkBox)
但是效果是一样的...
感谢帮助
答案 0 :(得分:1)
为复选框提供了仅包含textSize的样式,因此它将影响复选框的样式,您可以执行以下两项操作:
首先只需以编程方式设置文本大小:
checkBox.setTextSize(TypedValue.COMPLEX_UNIT_SP, 30);
或将您的样式调整为这样:
<style name="settingsNotificationCategory" parent="Widget.AppCompat.CompoundButton.CheckBox">
<item name="android:textSize">30sp</item>
</style>
继承复选框的基本样式
答案 1 :(得分:0)
但是当我在布局创建checbox:
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="test"
android:textColor="@color/customText"
android:theme="@style/settingsNotificationCategory"/>
这是不工作
parent="Widget.AppCompat.CompoundButton.CheckBox"
能够设定主题代码? 我想通过样式设置TEXTSIZE因为我用的布局,以不同的分辨率(大,超大,小尺寸)