我試圖創建一個完美適合屏幕大小的gridview。 當我讀到很多關於這個主題的例子或SO答案時,我發現的唯一的東西是:在每個values-size文件夾中放入一些「dimensions.xml」文件,並讓gridview調整列數和自動間距。問題是,有時候,間距太大,結果真的很難看。多個設備上的Gridview和列大小
我的問題是:如果我不想放一個大小,想要像素精度管理gridview呢?任何例子都會受到歡迎。
只是要清楚:例如,我希望每列之間有4個像素的x列,所以我需要計算更好的列大小並將其指定給gridview。這個想法是在谷歌商店應用程序中呈現的東西,在每個設備上的gridelement之間總是有相同的空間(該列調整爲屏幕大小)。
編輯:這裏是我現在使用的代碼...它來自Romain Guy的一個例子,他展示瞭如何顯示網格視圖。
// This listener is used to get the final width of the GridView and then calculate the
// number of columns and the width of each column. The width of each column is variable
// as the GridView has stretchMode=columnWidth. The column width is used to set the height
// of each view so we get nice square thumbnails.
mGridView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
if (mAdapter.getNumColumns() == 0) {
final int numColumns = (int) Math.floor((double) mGridView.getWidth()/(mImageThumbSize + mImageThumbSpacing));
if (numColumns > 0) {
final int columnWidth = mGridView.getWidth()/numColumns - mImageThumbSpacing;
mAdapter.setNumColumns(numColumns);
mAdapter.setItemHeight(columnWidth);
}
}
}
});
mImageThumbSize和mImageThumbSpacing來自維度文件。我正在尋找的是根據屏幕大小自動計算最佳列數的方法。例如:低分辨率手機2列,手機3列,小平板電腦4,平板電腦5,大平板電腦6.主要問題是手機可以提供與平板電腦相同的gridview尺寸,所以我不能依靠純屏幕尺寸計算。
這很有趣,但它並沒有真正回答我的問題。 – Gomoku7
它不可能只使用一個像素精度值的所有應用程序,在android中你有很多的決議和尺寸。也許可以用這個代碼prub來獲得你的像素精度值。我發佈了一張表格來獲得scree的高度和高度。 –