2015-04-22 48 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); 
    } 
}