1

高さRelative layoutが固定され356 px、幅がラップコンテンツです。背景を画像として
配置しました。 画像の寸法はです。Imageview
496 px * 496 px

画像は正方形の画像ですが、長方形としてスケーリングされます。
これがXML-

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rlMain"
android:layout_width="wrap_content"
android:layout_height="356px" >

<ImageView
    android:id="@+id/ivIcon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/outdoor_verygood_ring" />

</RelativeLayout>

元の画像は次のとおりです-ここに画像の説明を入力

相対レイアウトでの外観は次のとおりです-

ここに画像の説明を入力

私が欲しいのは、画像が拡大縮小されている場合get scaled in both X and Yです。
どうすればこれを達成できますか?

4

3 に答える 3

2

srcアスペクト比を変更しないでください。画像をそのまま表示します。画像ビューの周りに余分なスペースを残すことによって。

一方background、 の背景全体を埋めようとしImageViewます。でconstant高さと幅を指定しwrap_contentます。したがって、最初に幅をラップしてから高さを適用します。これは明らかに間違っています。

あなたの場合、1:1の比率が必要な場合は、固定の幅と高さを指定できます。どこでwidth=height

ただし、一般に、縦横比を維持したい場合は、 src属性を使用できます。

android:adjustViewBounds="true" 

魔法のラインです。

于 2013-08-13T05:41:19.533 に答える
0

画像の縦横比を適切に設定する必要があります。あなたの場合、とにかく に与えられたさまざまなオプションを試してくださいimageview.scaleType以下のリンクに従って、xml で適切なオプションを設定します。

あなたの場合は試してみてください:

android:scaleType= "CENTER_INSIDE" for imageview
于 2013-08-13T05:27:13.753 に答える
0

これを修正する必要があります

から

android:background="@drawable/outdoor_verygood_ring"

android:src="@drawable/outdoor_verygood_ring"
android:adjustViewBounds="true"

背景は、ウィジェットの配置とそのプロパティに基づいてサイズ変更されます。src は ImageView 内にあり、ImageView プロパティによって制御されます。背景を制御する ImageView プロパティはありません。

于 2013-08-13T05:40:40.873 に答える