0

我是 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、宽度和高度。但是我做了一些研究,我了解到在 android 中它具有相对布局,因此我们无法像在 ios 中那样设置视图的 X 和 Y 位置。

我在我的数据库中有 X、Y、宽度和高度的列表,并根据数据库在我的 iPhone 项目中设置了我的视图的大小。

现在我想在 android 中做同样的事情,但我的 Android 开发人员说,相对布局不可能 bcoz,所以我想要一个解决方案来在 Android 中创建与 iPhone 相同的东西。

对于上面的例子,我有包含 X、Y、Width 和 Height 的 DB

X     Y   Width   Height
0     0   160     160
160   0   160     160
0    160  160     160
160  160  160     160

这是它的样子:

在此处输入图像描述

4

1 回答 1

2

你可以在 LinearLayout 中这样设置

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
             LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT,Gravity.CENTER);

view.addView(按钮,参数);

并在相对布局中

RelativeLayout.LayoutParams layoutParams = 
    (RelativeLayout.LayoutParams)positiveButton.getLayoutParams();
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, 0);
view.setLayoutParams(layoutParams); 
于 2013-09-14T04:55:27.900 回答