2017-04-03 52 views

回答

1

您可以使用RecyclerView和StaggeredGridLayoutManager而不是GridView。您可以在這裏找到一個很好的教程StaggeredGridLayoutManager

0

您可以從電網適配器內控制你的項目的大小 - 更具體地說是在您的覆蓋getView()方法:

@Override 
public View getView(final int position, View convertView, ViewGroup parent) { 
    View v = LayoutInflater.from(ctx).inflate(R.layout.grid_item, null); 

    // ... 

    AbsListView.LayoutParams lp = new AbsListView.LayoutParams(AbsListView.LayoutParams. 
     WRAP_CONTENT, AbsListView.LayoutParams.WRAP_CONTENT); 
    lp.width = getResources().getDimensionPixelSize(R.dimen.card_width); 
    lp.height = getResources().getDimensionPixelSize(R.dimen.card_height); 
    v.setLayoutParams(lp); 

    return v; 
}