将主题应用于Android中的动态单选按钮

前端之家收集整理的这篇文章主要介绍了将主题应用于Android中的动态单选按钮前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的应用程序中有一个主题,它定义了默认的textappearance和Button Style.
<style name="AppTheme" parent="@android:style/Theme.Light.NoTitleBar.Fullscreen">
    <item name="android:textAppearance">@style/TextAppearance.Medium</item>
    <item name="android:textAppearanceLarge">@style/TextAppearance.Large</item>
    <item name="android:textAppearanceMedium">@style/TextAppearance.Small</item>
    <item name="android:textAppearanceSmall">@style/TextAppearance.Medium</item>
    <item name="android:textColorPrimary">#000000</item>
    <item name="android:textColorSecondary">#000000</item>
    <item name="android:textColorTertiary">#000000</item>
    <item name="android:buttonStyle">@style/Button</item>
</style>

<style name="TextAppearance" parent="@android:style/TextAppearance">
    <item name="android:textColor">?android:attr/textColorPrimary</item>
    <item name="android:textColorHint">?android:attr/textColorHint</item>
</style>

<style name="TextAppearance.Large">
    <item name="android:textColor">?android:attr/textColorPrimary</item>
    <item name="android:textSize">32dp</item>
    <item name="android:textStyle">bold</item>
</style>

<style name="TextAppearance.Medium">
    <item name="android:textColor">?android:attr/textColorSecondary</item>
    <item name="android:textSize">22dp</item>
</style>

<style name="TextAppearance.Small">
    <item name="android:textColor">?android:attr/textColorTertiary</item>
    <item name="android:textSize">18dp</item>
</style>

<style name="Button" parent="@android:style/Widget.Button">
    <item name="android:textColor">?android:attr/textColorSecondary</item>
    <item name="android:textColorHint">?android:attr/textColorHint</item>
    <item name="android:textStyle">normal</item>
    <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
</style>

当我使用创建RadioButton时

RadioButton radioButton = new RadioButton(this,null,R.style.AppTheme);

创建RadioButton并正确设置样式,但选中的标记消失.为什么?

我在Buttongroup中有Radiobutton,我在那里动态添加按钮.当我通过布局添加按钮时,标记会正确显示.但动态添加按钮却没有.

解决方法

解决方案是使用
单选按钮(这)
构造函数.

使用defStyle-Constructor设置的所有样式都被忽略,标记删除.我不确定这是一个错误还是没有记录.

我实际上不需要它,因为我的styles.xml中的其他样式现在自动应用于按钮,但如果有人感兴趣:

加入

<item name="android:radioButtonStyle">@style/MyRadioButton</item>

到我的“AppTheme” – 风格和

<style name="MyRadioButton" parent="@android:style/Widget.CompoundButton.RadioButton">
    <item name="android:textSize">5dp</item>
</style>

到style.xml使我的所有单选按钮都显示标记和样式文本(不在构造函数中设置它).

猜你在找的Android相关文章