???RelativeLayout.LayoutParams的使用疑点

来源:互联网 发布:libzip windows 编辑:程序博客网 时间:2024/04/29 06:48

下面是两种情况的代码,先说明一下疑点:前者布局图片在同一个位置,而后者达到了预期的情况,出现3行3列的布局,至于原因貌似没想明白,请求高手解释???

代码一如下

RelativeLayout.LayoutParams  relativelps=new RelativeLayout.LayoutParams            (ViewGroup.LayoutParams.WRAP_CONTENT,             ViewGroup.LayoutParams.WRAP_CONTENT);                           for (int j = 0;j < cols;j ++){//cols列        relativelps.leftMargin=j*160;                relativelps.topMargin=i*160;                Log.i("VARIOUS", "i="+relativelps.leftMargin+";j="+relativelps.topMargin);    ImageView cutView = new ImageView(this);    //为cutView设定id,初值为1000,依此到1008    cutView.setId(RES_ID_BASE + i * cols + j);//RES_ID_BASE初始值为1000    cutView.setImageBitmap(Bitmap.createBitmap(resizeBitmap,     j * blockWidth, i * blockHeight, blockWidth, blockHeight));    relative.addView(cutView,relativelps);                       }}

代码片段二:


for (int j = 0;j < cols;j ++){//cols列                    RelativeLayout.LayoutParams  relativelps=new RelativeLayout.LayoutParams            (ViewGroup.LayoutParams.WRAP_CONTENT,             ViewGroup.LayoutParams.WRAP_CONTENT);   relativelps.leftMargin=j*160; relativelps.topMargin=i*160; Log.i("VARIOUS", "i="+relativelps.leftMargin+";j="+relativelps.topMargin); ImageView cutView = new ImageView(this); //为cutView设定id,初值为1000,依此到1008 cutView.setId(RES_ID_BASE + i * cols + j);//RES_ID_BASE初始值为1000 cutView.setImageBitmap(Bitmap.createBitmap(resizeBitmap, j * blockWidth, i * blockHeight, blockWidth, blockHeight)); relative.addView(cutView,relativelps); }}



原创粉丝点击