ToggleButton图像不保持纵横比

时间:2017-11-13 10:17:47

标签: android android-togglebutton

两个切换按钮不保持纵横比。我怎么能把它变成正方形?它不应该填充宽度,而只是包装它的内容。

enter image description here

            <LinearLayout
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:layout_marginTop="24dp"
                android:orientation="horizontal">

                <ToggleButton
                    android:id="@+id/btn1"
                    android:layout_width="50dp"
                    android:layout_height="50dp"
                    android:layout_weight="1"
                    android:textOff=""
                    android:scaleType="centerCrop"
                    android:textOn=""
                    android:layout_margin="8dp"
                    android:background="@drawable/feedback_btn_selector"
                    />

                <ToggleButton
                    android:id="@+id/btn2"
                    android:layout_width="50dp"
                    android:layout_height="50dp"
                    android:layout_weight="1"
                    android:scaleType="centerCrop"
                    android:layout_margin="8dp"
                    android:background="@drawable/feedback_btn_selector" />
            </LinearLayout>

feedback_btn_selector

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:state_pressed="true" android:drawable="@drawable/btn_average" />
    <item android:state_pressed="true" android:drawable="@drawable/btn_average"/>
    <item android:state_checked="true" android:drawable="@drawable/btn_average"/>
    <item android:drawable="@drawable/btn_average_selected"/>
</selector>

抽拉-xhdpi:

enter image description here

3 个答案:

答案 0 :(得分:0)

您可以根据需要制作小尺寸图片,也可以制作固定尺寸的ToggleButton

答案 1 :(得分:0)

试试这段代码:

 <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="24dp"
        android:orientation="horizontal">

        <ToggleButton
            android:id="@+id/btn1"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:textOff=""
            android:scaleType="centerCrop"
            android:textOn=""
            android:layout_margin="8dp"
            android:background="@drawable/feedback_btn_selector"
            />

        <ToggleButton
            android:id="@+id/btn2"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:scaleType="centerCrop"
            android:layout_margin="8dp"
            android:background="@drawable/feedback_btn_selector" />
    </LinearLayout>

答案 2 :(得分:-1)

正确答案:

<LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="24dp"
        android:orientation="horizontal"
                    android:gravity="center_horizontal">

        <ToggleButton
            android:id="@+id/btn1"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:textOff=""
            android:scaleType="centerCrop"
            android:textOn=""
            android:layout_margin="8dp"
            android:background="@drawable/feedback_btn_selector"
            />

        <ToggleButton
            android:id="@+id/btn2"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:scaleType="centerCrop"
            android:layout_margin="8dp"
            android:background="@drawable/feedback_btn_selector" />
    </LinearLayout>