如何为另一种类型的视图获取ImageView.ScaleType.CENTER_INSIDE之类的内容?

时间:2013-04-12 13:14:59

标签: android view

我有一个包含多个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>

0 个答案:

没有答案