5

解像度320x320の画像があります。

そのためlayout_widthに値を設定しますfill_parent

しかし、私は何を設定すべきかわかりませんlayout_height

高さと幅を同じサイズにしたい。

layout_height=wrap_content幅を高さの2倍に設定すると...

xのすべてのスペースを埋めるために、レイアウトを高くして、yのサイズをxのサイズと同じにする方法を教えてください。

4

4 に答える 4

2
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

int width = metrics.widthPixels;

幅を使用して高さを動的に設定するようになりました。

layout_width = fill parent を使用しているため、これはデバイス画面の幅です。

于 2012-07-02T09:16:29.177 に答える
1

layout_heightを明示的に設定してみましたか

例えば

android:layout_height="320dip"
于 2012-07-02T09:06:18.750 に答える
1

layout_height=wrap_content を設定すると、幅は高さの 2 倍になります...

これは、高さ/幅を設定するたびにWRAP_CONTENT 、レイアウトの背景、レイアウトの子ビューに対応できるようにレイアウトが幅または高さになるため、子を追加するとさらに大きくなるからだと思いますレイアウト

FILL_PARENTthenに設定すると、表示されている左側の画面領域全体が使用されます。

ソリューション

  1. レイアウトに使用していくつかの修正サイズを与えることができdpます。次に、デバイスの差分サイズ用に別の XML ファイルを作成する必要があります。
  2. LinearLayout の属性と属性を試して使用し、weightSum適切layout_weightな重みを適用してレイアウトの高さと幅を管理できます。【個人的にオススメweight
于 2012-07-02T09:18:20.953 に答える
1

アクティビティのonCreate(...)メソッド内から、呼び出し直後setContentView(...);

これを使って:

ImageView image = (ImageView)findViewById(R.id.image);
image.getLayoutParams().width = image.getHeight();
于 2012-07-02T09:09:26.570 に答える