android-将两个通过编程创建的imageView相邻放置在相对位置
我已经创建了两个ImageView,如下所示:android-将两个通过编程创建的imageView相邻放置在相对位置,android,android-relativelayout,layoutparams,Android,Android Relativelayout,Layoutparams,我已经创建了两个ImageView,如下所示: public void createImageViews(Integer count){ ImageView[] imageViewArray = new ImageView[count]; for (int i = 0; i < count; i++ ) { imageViewArray[i] = new ImageView(getBaseContext()); ima
public void createImageViews(Integer count){
ImageView[] imageViewArray = new ImageView[count];
for (int i = 0; i < count; i++ ) {
imageViewArray[i] = new ImageView(getBaseContext());
imageViewArray[i].setId(i); // unique property for every imageView
if(i==0){
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
imageViewArray[i].setLayoutParams(params);
imageViewArray[i].setBackgroundResource(imagesForIv[i]);
_UIRLParent.addView(imageViewArray[i]);
Log.v("first", "first"+i);
}
else if(i < 3){
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.RIGHT_OF,imageViewArray[i].getId());
imageViewArray[i].setBackgroundResource(imagesForIv[i]);
_UIRLParent.addView(imageViewArray[i],params);
Log.v("second", "second"+i);
}
}
public void createImageViews(整数计数){
ImageView[]imageViewArray=新的ImageView[计数];
for(int i=0;i
我只需要将第二个imageView放到第一个imageView的右侧。有人能帮我吗?这占用了我很多时间。试试看
您使用了错误的索引值
排队
params.addRule(RelativeLayout.RIGHT_OF,imageViewArray[i].getId());
将当前图像对齐到当前图像的右侧。:)
您需要跟踪最后一个imageView id的索引,即左图像视图
你需要这样的东西
params.addRule(RelativeLayout.RIGHT_OF,imageViewArray[i-1].getId());
这个答案不受欢迎。你能扩展你的答案来解释更多细节吗。@Mohsin Naeem,我试过这个,但它对我的情况没有帮助。这正是我想要的doin@MMohsin Naeem第一个图像视图的实例是什么。