0
我有一個帶有4列imgs的gridView。當手機轉向橫向佈局時,gridView的網格會展開以填充寬度,從而在img之間創建空白區域,儘管img保持所需的寬度。在橫向佈局中,有沒有辦法讓網格視圖填充屏幕寬度?防止gridView擴展以適應橫向寬度
我有一個帶有4列imgs的gridView。當手機轉向橫向佈局時,gridView的網格會展開以填充寬度,從而在img之間創建空白區域,儘管img保持所需的寬度。在橫向佈局中,有沒有辦法讓網格視圖填充屏幕寬度?防止gridView擴展以適應橫向寬度
我有2種方法來做到這一點:
1)對於每個方向創建佈局:
res/layout/....
res/layout-land/....
2)只有一個佈局垂直和水平兩個方向:
設置GridView:android:numColumns="4"
你[R自定義視圖項,始終設置android:layout_width="match_parent"
用第二種方法,可以與高的項目的encount問題。只需創建您的自定義視圖並覆蓋onMeasure
。
例如:我需要一個LinearLayout中對我的項目和保持我比height/width = 4.5/4
,所以我做了以下自定義:
public class MyLinearLayout extends LinearLayout {
//..... constructor methods
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int scaleHeight =(int)(widthMeasureSpec/4*4.5);
super.onMeasure(widthMeasureSpec, scaleHeight);
}
}