Android 4中的自定义切换小部件

时间:2013-03-31 12:46:50

标签: android android-4.0-ice-cream-sandwich

我对Android 4中的切换按钮感到很疯狂。

首先,我已将选择器设置为背景,其中两个不同的PNG文件从drawable文件夹中选择:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/form_switch_no" android:state_checked="false"/>
    <item android:drawable="@drawable/form_switch_ok" android:state_checked="true"/>
    <item android:drawable="@drawable/form_switch_no"/>
</selector>

但我不知道他们为什么是x-scaled。我想管理这个大小,但我试图改变layout_width / height / weight ...没有成功。

我还有一个自定义PNG文件用作交换机的拇指。我还需要管理这个拇指的大小,因为如果我将textOn和textOff propments设置为“”,拇指的大小就会非常小。此外,我想改变背景的拇指填充,因为它不会出现居中。

这是我的Switch XML定义:

<Switch
    android:id="@+id/switchUsers"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/user"
    android:textOn=""
    android:textOff=""
    android:thumb="@drawable/form_switch_slider"
    android:track="@drawable/switch_user_selector" />

我试图改变图像尺寸并将它们制作成9个补丁,但我无法达到目标。

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:8)

使用以下组合解决了没有文字的极小滑块的解决方案:

android:thumbTextPadding="25dp"
android:textOn=""
android:textOff=""

然后,同一滑块中的小填充问题是9补丁图像问题。我不得不在屏幕上再增加一条黑色底线和右边的黑色线条。

希望这可以帮助有同样问题的人。