LinearLayout gridContainer = (LinearLayout)mInflater.inflate(R.layout.friend_grid, null); include.addView(gridContainer); GridView g = (GridView)gridContainer.findViewById(R.id.grid); g.setLayoutParams(new LinearLayout.LayoutParams(getLogic().getPx(mImageIds.length*83), -1)); g.setNumColumns(mImageIds.length); ImageAdapter imgAdapter = new ImageAdapter(FriendActivity.this,Arrays.asList(mImageIds)); g.setAdapter(imgAdapter);
当需要对Widget设置LayoutParams参数时,要注意这里设置的应该是父布局的布局参数,而不是针对自己的。
例如这里的GridView,当想设置包含这个视图的父布局LinearLayout的宽时,我们采取的是
g.setLayoutParams(new LinearLayout.LayoutParams(getLogic().getPx(mImageIds.length*83), -1));
这个的第一个参数是设置包含这个GridView的父布局LinearLayout的宽,注意是
LinearLayout.LayoutParams