切换按钮图像不居中

时间:2013-09-24 22:00:01

标签: android xml layout togglebutton

它的外观如何:http://i.imgur.com/navAYXk.jpg

这是负责布局的代码:(问题的togglebutton是最后一个)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout01"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
            android:id="@+id/controls"
            android:layout_width="match_parent"
            android:layout_height="35dp"
            android:background="@drawable/border" >

            <ImageButton
                android:id="@+id/playpause"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.25"
                android:background="@null"
                android:src="@drawable/player_play"
                android:text="play/pause" />

            <ImageButton
                android:id="@+id/prev"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.25"
                android:background="@null"
                android:src="@drawable/player_prev"
                android:text="prev" />

            <ImageButton
                android:id="@+id/next"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.25"
                android:background="@null"
                android:src="@drawable/player_next"
                android:text="next" />

            <ToggleButton
                android:id="@+id/shuffleButton"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.25"
                android:background="@null"
                android:button="@drawable/toggle_check"
                android:layout_gravity="center"
                android:textOff=""
                android:textOn="" />

        </LinearLayout>

</LinearLayout>

这是文件toggle_check.xml:

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

我不知道为什么togglebutton图像没有居中,有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

你的布局对我来说似乎没问题。我尝试将ToggleButton替换为另一个ImageButton,只是为了确保android不会像CheckBoxes一样自动添加一些填充。另外,请仔细检查player_shuffle_onplayer_shuffle_off png是否被意外保存为透明填充。

顺便说一句,不需要两个LinearLayouts,您只能使用一个水平LinearLayout作为根视图。

答案 1 :(得分:0)

Add Gravity-Center to your second Linear Layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout01"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
            android:id="@+id/controls"
            android:layout_width="match_parent"
            android:layout_height="35dp"
            *android:gravity="center"*
            android:background="@drawable/border" >

            <ImageButton
                ...