Android 4中的自定义开关小部件

6

我在Android 4中的切换按钮上遇到了麻烦。

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

<?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轴缩放。我想管理这个大小,但是我尝试更改layout_width/height/weight等却没有成功。

我还有一个自定义的PNG文件用作开关的拇指。我也需要管理这个拇指的大小,因为如果我将textOn和textOff属性设置为空,拇指会变得非常小。此外,我想相对于背景更改拇指填充,因为它看起来并不居中。

以下是我的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" />

我尝试过改变图像大小并将它们制作成九宫格图像,但我无法达到我的目标。

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

1个回答

8
极小的滑块上没有文字的解决方案是通过以下两种方式的结合得到的:
android:thumbTextPadding="25dp"
android:textOn=""
android:textOff=""

接下来,同一幻灯片中小间距的问题是由于9-patch图像引起的。我需要对底部和右侧的黑线进行对称扩展一个像素。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接