2015-04-22 51 views
0

我有一個帶有4列imgs的gridView。當手機轉向橫向佈局時,gridView的網格會展開以填充寬度,從而在img之間創建空白區域,儘管img保持所需的寬度。在橫向佈局中,有沒有辦法讓網格視圖填充屏幕寬度?防止gridView擴展以適應橫向寬度

回答

0

我有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); 
    } 
}