0

画面の回転中にオブジェクトのサイズが変わる Android の GridView があります。また、オブジェクト間に隙間がないようにしたいです。各ビューを約150〜200dpにしたい。

最初は、画面全体の幅 ( int totalWidth = getWindowManager().getDefaultDisplay().getWidth();)m_IconSize = Math.min(totalWidth / 4, 175);を取得し、アイコンの最大サイズを取得するようなものを使用して、グリッド ビューの列を で設定できると考えていましたgridView.setNumColumns(totalWidth / m_IconSize);

ただし、高密度の解像度または水平方向の場合は、幅の要素ではない 175 に常に既定で設定され、GridView の各オブジェクト間にギャップが生じます。どうすればギャップレスにできますか?

4

1 に答える 1

0

うーん、ランドスケープでは 175 を超えることは明らかなので (700 ピクセルを超える画面ではそれが可能です)、175 が適用されます。より一般的な注意として、固定ピクセル サイズを使用して dimens.xml にエントリを作成してから読み取るべきではint pixels = getResources().getDimensionPixelSize(R.dimen.whatever);ありませんが、水平方向のスペースではなく、密度のみが調整されます。

常に4を使用しようとするのではなく、おおよそのサイズに収まるアイコンの最大数を見つけてから、そのサイズを使用する必要があるようです.

于 2013-05-11T18:22:41.047 に答える