drawableRight for Switch的奇怪行为

时间:2014-03-20 12:05:42

标签: android android-layout android-widget

我尝试为android:drawableLeft

执行android:drawableRightSwitch

drawableLeft显示正常,但drawableRight显示在Switch的track后面

如何让曲目显示在中心?

我的代码:

<Switch
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableLeft="@drawable/moon"
        android:drawablePadding="10dp"
        android:drawableRight="@drawable/sun"
        android:textOff=""
        android:textOn=""
         />

我变得像这样

关闭

switch Off

开启

Switch On

1 个答案:

答案 0 :(得分:1)

我通过添加2个额外的小部件来实现它,例如LinearlayoutImageView

<LinearLayout
                style="@style/Wrap"
                android:layout_height="match_parent"
                android:layout_gravity="bottom"
                android:layout_marginTop="8dp"
                android:layout_weight="1"
                android:gravity="center" >

                <Switch
                    android:id="@+id/Sw_am_pm_button"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:checked="true"
                    android:drawableLeft="@drawable/moon"
                    android:drawablePadding="6dp"
                    android:switchMinWidth="40dp"
                    android:textOff=""
                    android:textOn=""
                    android:thumb="@drawable/circle"
                    android:track="@drawable/bg" />

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dp"
                    android:src="@drawable/sun" />
            </LinearLayout>