0

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

在此处输入图像描述

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

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

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

谢谢你的任何回应。

4

1 回答 1

1

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

于 2013-08-06T07:07:09.467 回答