2

我有一个带有图像的切换按钮,但是当我更改按钮的文本时,文本位于图像后面。我在函数中添加了额外的空格setText(),但这不能很好地适应不同的屏幕尺寸。那么我能做什么呢?

切换按钮 auton_select.xml 的 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/auto_select" /> <!-- pressed -->

 <item android:state_checked="false"
       android:drawable="@drawable/auto_unselect" /> <!-- unchecked -->

 <item android:drawable="@drawable/auto_unselect" /> <!-- default -->

</selector>

在布局中使用切换按钮 xml

<ToggleButton
        android:id="@+id/auto_ring_button" 
        android:textOn="               test"
        android:textOff=" "
        android:disabledAlpha=".9"
        android:button="@drawable/auton_select"

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:onClick="showPopupR"
        />
4

1 回答 1

5

尝试将图像设置为复合可绘制而不是背景。

toggleButton.setCompoundDrawablesWithIntrinsicBounds(R.drawable.image, 0, 0, 0);

或在 XML

android:drawableLeft="@drawable/image"

参考:
setCompoundDrawablesWithIntrinsicBounds()
android:drawableLeft

于 2013-04-01T18:56:10.143 回答