我是iPhone开发人员,并设置UIView为彼此的上下我使用此代码:
UIView * view1 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 160, 160)];
view1.backgroundColor = [UIColor redColor];
[self.view addSubview:view1];
UIView * view2 = [[UIView alloc] initWithFrame:CGRectMake(160, 0, 160, 160)];
view2.backgroundColor = [UIColor greenColor];
[self.view addSubview:view2];
UIView * view3 = [[UIView alloc] initWithFrame:CGRectMake(0, 160, 160, 160)];
view2.backgroundColor = [UIColor pinkColor];
[self.view addSubview:view2];
UIView * view4 = [[UIView alloc] initWithFrame:CGRectMake(160, 160, 160, 160)];
view2.backgroundColor = [UIColor blueColor];
[self.view addSubview:view2];
但我想知道如何在Android中以编程方式显示相同的视图。我的观点框架与其动态不同。
实际上我试图了解动态布局在android中是如何工作的。在iPhone中我们有X,Y,Width和Height,我们可以为任何动态视图定义。但我已经做了一些研究,并且我了解到在android中它有相对布局,所以我们无法在ios中设置视图的X和Y位置。
我的数据库中包含X,Y,Width和Height列表,根据数据库我在iPhone项目中设置了Views的大小。
现在我想在Android中做同样的事情,但是我的Android开发人员说,相对布局的bcoz不可能,所以我想要一个解决方案来创建像Android这样的iPhone。
对于上面的示例,我的DB包含X,Y,Width和Height
X Y Width Height
0 0 160 160
160 0 160 160
0 160 160 160
160 160 160 160
这就是它的样子:
答案 0 :(得分:2)
你可以在LinearLayout中以这种方式设置
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT,Gravity.CENTER);
view.addView(button,params);
并在相对布局
中RelativeLayout.LayoutParams layoutParams =
(RelativeLayout.LayoutParams)positiveButton.getLayoutParams();
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, 0);
view.setLayoutParams(layoutParams);