最近我正在处理的应用程序上的ToggleButtons丢失了它的绿灯指示灯。我从各种教程开始,聚集了一组9个补丁指示器,使它们再次正常工作。唯一的问题是文本现在位于指标的顶部,如下所示:
我希望顶部的文字像旧的切换按钮一样......有没有办法做到这一点?
btn_toggle_bg.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+android:id/background" android:drawable="@android:drawable/btn_default" />
<item android:id="@+android:id/toggle" android:drawable="@drawable/btn_toggle" />
</layer-list>
我的btn_toggle.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/btn_toggle_on" />
<item android:state_checked="false" android:drawable="@drawable/btn_toggle_off" />
</selector>
和我活动中的togglebutton标记:
<ToggleButton
android:background="@drawable/btn_toggle_bg"
style="@style/OurThemeName"
android:textOff="@string/fertilizer"
android:textOn="@string/fertilizer"
android:id="@+id/toggleFertilizer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:checked="false">
</ToggleButton>
<ToggleButton
android:background="@drawable/btn_toggle_bg"
style="@style/OurThemeName"
android:textOff="@string/irrigation"
android:textOn="@string/irrigation"
android:id="@+id/toggleIrrigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:checked="false">
</ToggleButton>
几乎忘记了themes.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Overwrite the ToggleButton style -->
<style name="Widget.Button.Toggle" parent="android:Widget">
<item name="android:background">@drawable/btn_toggle_bg</item>
<item name="android:textOn">On</item>
<item name="android:textOff">Off</item>
<item name="android:disabledAlpha">?android:attr/disabledAlpha</item>
</style>
<style name="OurThemeName" parent="@android:Theme.Light">
<item name="android:buttonStyleToggle">@style/Widget.Button.Toggle</item>
<item name="android:textOn"></item>
<item name="android:textOff"></item>
</style>
</resources>
答案 0 :(得分:0)
您需要在9-Patch中设置填充区域。您可以使用 Draw 9-patch 工具在图像的右下角添加包含它们的区域。通过这个,您可以定义文本标签的区域。
检查解释9-Patch如何工作的this tutorial。