2

我有一个垂直菜单,里面有几个ToggleButton. 菜单具有固定宽度,我希望按钮在其中等距分布。

我使用android:layout_gravity来创建一些按钮容器,并且我希望按钮在容器内进行缩放ImageView.ScaleType.CENTER_INSIDE,即使最大按钮的尺寸适合容器,保持按钮的纵横比。

我尝试将按钮的尺寸设置为wrap_content并将容器的重力设置为center,但这仅在按钮小于容器时才有效。如果它更大,则按钮适合容器尺寸并且不会保持按钮的纵横比。

我怎样才能模仿ImageView.ScaleType.CENTER_INSIDE我的ToggleButton

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="100dp"
    android:layout_height="match_parent"
    android:background="#ffffff"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <ToggleButton
            android:id="@+id/btn_01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/btn_01_bg"
            android:textOn=""
            android:textOff=""/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <ToggleButton
            android:id="@+id/btn_02"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/btn_02_bg"
            android:textOn=""
            android:textOff=""/>
    </LinearLayout>

    <!-- more ToggleButtons -->

</LinearLayout>
4

0 回答 0