如何在Android中创建自定义ToggleButton样式?

时间:2017-07-11 10:18:02

标签: android android-styles android-togglebutton

我想创建自定义ToggleButton样式,主要是因为我可以根据屏幕尺寸更改最小高度和文字大小。

我已经为Button完成了此操作:

styles.xml

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="buttonStyle">@style/MyButtonStyle</item>
</style>

<style name="MyButtonStyle" parent="Widget.AppCompat.Button">
    <item name="android:minHeight">@dimen/button_min_height</item>
    <item name="android:textSize">@dimen/button_text_size</item>
</style>

我现在想为ToggleButton做类似的事情。我试过这个......

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="buttonStyle">@style/MyButtonStyle</item>
    <item name="android:buttonStyleToggle">@style/MyToggleButtonStyle</item>
</style>

<style name="MyToggleButtonStyle" parent="Widget.AppCompat.ToggleButton">
    <item name="android:minHeight">@dimen/button_min_height</item>
    <item name="android:textSize">@dimen/button_text_size</item>
</style>

...但Widget.AppCompat.ToggleButton不存在。那么我需要做出哪些更改才能控制ToggleButton的最小高度和文本大小,就像我已经为Button做的那样?

我更喜欢与上述类似的方法,不仅仅是为了保持一致性,而且我不必遍历所有布局文件并单独更新ToggleButton s'xml。

1 个答案:

答案 0 :(得分:2)

这适合我。

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="buttonStyle">@style/MyButtonStyle</item>
    <item name="android:buttonStyleToggle">@style/MyToggleButtonStyle</item>
</style>

<style name="MyToggleButtonStyle" parent="android:Widget.Button.Toggle">
    <item name="android:minHeight">@dimen/button_min_height</item>
    <item name="android:textSize">@dimen/button_text_size</item>
</style>