2つのImageViewがあるレイアウトがあります。各画像は固定されたアスペクト比を持ちます。たとえば、最初の画像は320x160、2番目は320x320です。レイアウトは垂直に揃えられます。私はこの2つの画像を一緒に接着し、画面の辺(幅または高さ)の1つに合わせて縮尺を変え、反対側をプロポーショナルに縮尺します。 scaleType = fitCenterを使用しようとしましたが、アスペクト比の異なる電話機では画像が一緒ではなく、その間に黒い領域があるという問題があります。 画面の比率(480x854と480x800)が異なるためレイアウトを使用できないようですが、レイアウトは同じ縮尺のままにしておく必要があります。異なる電話機で固定アスペクト比のアンドロイドレイアウトスケーリング
何か助けていただければ幸いです。ここで
は、今の私のレイアウトです:
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView android:src="@drawable/im_menu"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|top"
android:layout_weight="0.7"
>
</ImageView>
<ImageView android:src="@drawable/im_field"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|top"
android:layout_weight="0.3"
>
</ImageView>
</LinearLayout>
ため
adjustViewBoundsここでも、効果は同じです。私が説明しようとしたように、480x800の比率= 1.66と480x854の比率= 1,77であるため、親のサイズを使用することはできませんが、レイアウトを常に1.5の比率に保ち、画面の最小サイズを満たす必要があります。 –
@北方キャプテン:絶対値をピクセル単位で使用しないでください。上記のように相対値を試してください。位置合わせの部分は重さだけでは達成できません。重力に目を向けるか、必要に応じてRelativeLayoutを使用する必要があります。 –
layout_widthとheightを子供から削除すると、それらは消えます。 –