5

このチュートリアルに従ってGridViewを作成します。

この行:

imageView.setLayoutParams(new GridView.LayoutParams(85, 85));

サイズ 85x85 は私の Wildfire には最適ですが、HTC Desire では非常に小さく見えます。画面に合わせて画像サイズを変更するにはどうすればよいですか?

2 つの異なるレイアウトがGridviewありますが、XML ファイルに画像サイズを変更する属性がありません。

4

2 に答える 2

8

現在使用しているデバイスのピクセル密度に基づいて調整を試みることができます。

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch(metrics.densityDpi){
     case DisplayMetrics.DENSITY_LOW:
                imageView.setLayoutParams(new GridView.LayoutParams(lowVal, lowVal));
                break;
     case DisplayMetrics.DENSITY_MEDIUM:
                imageView.setLayoutParams(new GridView.LayoutParams(medVal, medVal));
                break;
     case DisplayMetrics.DENSITY_HIGH:
                 imageView.setLayoutParams(new GridView.LayoutParams(highVal, highVal));
                 break;
}
于 2011-06-01T13:03:36.087 に答える
6

willytate の回答に似ていますが、xml (85dp の場合) でディメンション値を作成し、次のように取得することをお勧めします。

  int size = resources.getDimensionPixelSize(R.dimen.your_dimension);

そうすれば、あまり気にすることなく、幅/高さが一貫してサイズ調整されます。

于 2011-06-01T13:11:45.850 に答える