1

私はすでにこのスレッドを見ました:ImageView AdjustViewBoundsは機能していませんが、私の状況には当てはまりません。

基本的に、adjustViewBoundsは機能していません。次のことを想定しましょう。

square_icon => 1000x1000
rectangle_icon => 400x100
device height => 1000

だから私がしたいのは、次の寸法の4つのアイコンの垂直方向の積み重ねです。

square_icon = 400x400
rectangle_icon = 400x100
square_icon = 400x400
rectangle_icon = 400x100

しかし、何が起こっているのかというと、square_iconが可能なすべてのスペースを占めていないということです...そしてrectangle_iconは400x100ではなく400x200のようになっていますか?画像が誤ったアスペクト比で拡大縮小されておらず、ビューに空白スペースが追加されているだけです(scalingTypeは、スペースが上、下、または両方のいずれにあるかを決定します)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:adjustViewBounds="true"
        android:src="@drawable/square_icon" />

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:src="@drawable/rectangle_icon" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:adjustViewBounds="true"
        android:src="@drawable/square_icon" />

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:src="@drawable/rectangle_icon" />

</LinearLayout>
4

1 に答える 1

1

関心のある人のために、重みを使用してrectangle_iconの高さを明示的に指定することでこれを解決しました...各square_iconに4の重みを割り当て、各rectangle_iconに1の重みを割り当てました。ずっと悩んでいましたが、やっとわかりました!

于 2012-09-14T13:57:02.590 に答える