<Excerpt in index | 首页摘要>
如何正确的创建正方形ImageVIew
<The rest of contents | 余下全文>
经常在开发任务中碰见类似的要求:
正方形的ImageVIew,一行多少个,每个占据屏幕的1/xx(3、4)。
其实宽度好说 ,主要是高度不好设定。所以过去我的做法是读取当前屏幕的宽度 然后计算出合适的宽高给ImageVIew。
类似如下:
1 2 3 4 5 6 7 8 9 10 11 12
| View view = LayoutInflater.from(PreAct.this) .inflate(R.layout.gloomy_item_preview, parent, false); if (size == 0) { size = Utils.getScreenWidth(PreAct.this) / 4 - 16; }
ViewGroup.LayoutParams layoutParams = view.getLayoutParams(); layoutParams.height = size; layoutParams.width = size; view.setLayoutParams(layoutParams); return new Holder(view);
|
今天波波给我讲了个更简单的方法.现在想来真是简单。
布局中用到的ImageView用自定义的.
然后代码如下:
1 2 3 4
| @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, widthMeasureSpec); }
|
然后ImageView的宽高直接match_parent即可.
具体的交给GridLayoutManager去就好了..