0

4 つの ImageView/ImageButton で構成される Linearlayout があります。すべての画像の幅と高さは同じです。このレイアウトを常に親の幅に合わせ、すべての画像を同じ縦横比 (幅と高さ) で拡大縮小します。

ここに画像の説明を入力

私はこれを試しました:

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

    <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/item_background"
            android:layout_weight="1"
            android:adjustViewBounds="true"/>
    // All 4 images are the same 
</LinearLayout>

問題は、ランド/ポートレートの幅と高さの比率が同じではないことです。たとえば、横向きモードでは、画像は x 軸でのみ引き伸ばされ、y 軸は引き伸ばされません。

ここに画像の説明を入力

私はそのような UI だけのコードには入りたくないので、XML でこれを行う方法を見つけるのを手伝ってくれることを願っています!

編集:

android:scaleType="fitXY" を画像に追加した後、次のようになりました。

ここに画像の説明を入力

ご覧のとおり、私が望むものに対する良い解決策ではありません。

4

4 に答える 4

0

あなたが使用することができます

android:scaleType="fitXY" 

ImageView のリソースに適合します。

于 2013-05-29T07:13:24.550 に答える
0

使用android:layout_width="match_parent"してandroid:scaleType="FIT_CENTER"

于 2013-05-29T07:17:49.670 に答える
0

Android 用に開発された .9.png 画像形式があり、その問題の解決に役立つ場合があります。Android 開発者 Web サイトからのリンクDraw9patchを次に示します。

于 2013-09-19T12:03:53.660 に答える
0

linearlayout の向きが「水平」であるため、これはおそらく正常です。

問題を解決するには、上記のコードを使用できます。

于 2013-05-29T07:22:19.803 に答える