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

How to create custom ToggleButton style in Android?

我想创建自定义 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 不存在。那么我需要做哪些更改才能像我已经为 Button 所做的那样控制我的 ToggleButton 的最小高度和文本大小?

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

这对我有用。

<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>