您的位置:首页 > 其它

gridview动态设置子项宽高

2014-10-15 10:48 225 查看
1---宽度比较好办,可以通过int width =  (int) this.getWindowManager().getDefaultDisplay().getWidth()/5;得到。然后gridview.setColumnWidth(Width);2---高度这个可用,有效
public class MyAdapter extends BaseAdapter {

GridView mGv;
public static int ROW_NUMBER = 5;

public MyAdapter (GridView gv, Context mContext, ArrayList<String> list) {
this.context = mContext;
this.mGv = gv;
lstDate = list;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = LayoutInflater.from(context).inflate(R.layout.item, null);

AbsListView.LayoutParams param = new AbsListView.LayoutParams(
android.view.ViewGroup.LayoutParams.FILL_PARENT,
mGv.getHeight()/ROW_NUMBER);
convertView.setLayoutParams(param);

return convertView;
}
另外,如果ROW_NUMBER是不定的
ROW_NUMBER = (gridAdapterList.size()+2)/3;
if (ROW_NUMBER != 0){AbsListView.LayoutParams param = new AbsListView.LayoutParams(android.view.ViewGroup.LayoutParams.FILL_PARENT,gv_project.getHeight()/ROW_NUMBER);convertView.setLayoutParams(param);}还有一种public View getView(int position, View convertView, ViewGroup parent) {                convertView = LayoutInflater.from(context).inflate(R.layout.item, null);                convertView.setLayoutParams(                                new GridView.LayoutParams((int) (parent.getWidth() / COLUMN_NUMBER),                                (int) (parent.getHeight() / RAW_NUMBER)));                convertView.setLayoutParams(param);                return convertView;        } http://stackoverflow.com/questions/5690144/how-can-i-force-a-gridview-to-use-the-whole-screen-regardless-of-display-size http://www.bcoder.com/java/setup-the-numcolumns-and-column-width-and-row-height-of-gridview-at-runtime
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: