切换按钮皮肤 - 中心

时间:2013-07-26 13:22:02

标签: android toggle skin

在我们的应用中,我们有一些自定义皮肤的切换按钮。问题在下一张图片上可见。切换指示器不能很好地居中。此问题仅出现在更高分辨率的设备上...例如在Nexus 7上

enter image description here

以下是我们如何定义皮肤的一些代码

<!-- TOGGLE -->
<style name="Toggle">
    <item name="android:textSize">@dimen/toggle_text_size</item>
    <item name="android:paddingLeft">@dimen/button_padding_left</item>
    <item name="android:paddingRight">@dimen/button_padding_right</item>
    <item name="android:background">@drawable/toggle_bg_selector</item>
    <item name="android:textColor">@drawable/toggle_text_color_selector</item>
    <item name="android:minHeight">0dip</item>
    <item name="android:singleLine">true</item>
</style>

button_padding_left和button_padding_right都是3dip

toggle_bg_selector:

<selector xmlns:android="http://schemas.android.com/apk/res/android">   
    <item 
        android:state_checked="true" 
        android:state_pressed="true" 
        android:drawable="@drawable/toggle_bg_on" />       
    <item 
        android:state_pressed="true" 
        android:drawable="@drawable/toggle_bg_on" />        
    <item 
        android:state_checked="true" 
        android:drawable="@drawable/toggle_bg_on" />        
    <item 
        android:drawable="@drawable/toggle_bg_off" />  
</selector>

是的,可绘制的图像正确居中。

感谢您的回应。

1 个答案:

答案 0 :(得分:1)

好的,问题解决了。这是一个糟糕的9补丁图片。比例区域左侧比右侧宽1或2像素。