0

我正在设置 ToggleButtons 的样式,并且我有一个图像用作新背景,将所有 6 种状态(默认打开、默认关闭、按下、按下、关闭、禁用、禁用)作为 9 个补丁。问题是,当应用 textOn 和 textOff 属性时似乎被忽略了,它们使用默认样式,但不适用于此样式。

这是其中一个的 9 补丁的样子: 在此处输入图像描述

这是主题中应用的样式:

<style name="Widget.Button.Toggle" parent="android:Widget.Button.Toggle">
        <item name="android:background">@drawable/toggle_button_selector</item>
        <item name="android:textColor">@color/white</item>
        <item name="android:textSize">20sp</item>
</style>

这是布局中的相关部分:

<ToggleButton
    android:id="@+id/toggleButton"
    android:textOn="@string/settings_mediospago_valor_personalizado"
    android:textOff="@string/settings_mediospago_valor_por_defecto"
    android:gravity="center"
    android:layout_width="200dp"
    android:layout_height="50dp"
    />

这就是它的外观:

在此处输入图像描述

任何指针?

4

1 回答 1

0

嗯,这很尴尬,但我学到了一些新东西。

首先,必须为给定选择器中的所有图像定义 9-Patch 中的内容区域,以使其正常工作。其次,不选择内容区域似乎不等于选择所有内容作为内容。

在这种情况下,我的问题是第一个,我至少有一个没有定义内容区域的图像,我非常错误地认为我可以通过选择单个状态图像的内容区域来测试选择器(我稍后会复制所有图像)。我的懒惰是代价高昂的。

于 2014-06-02T14:04:17.317 回答