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で同じビューをプログラムで表示する方法を知りたいです。私のビューのフレームは、ダイナミックと同じではありません。

実際、動的レイアウトがアンドロイドでどのように機能するかを理解しようとしています。iPhone では、任意の動的ビューに対して定義できる X、Y、幅、および高さがあります。しかし、いくつかの調査を行ったところ、Android には相対レイアウトがあるため、iOS のようにビューの X と Y の位置を設定できないことがわかりました。

データベースに X、Y、Width、および Height のリストがあり、DB に従って、iPhone プロジェクトのビューのサイズを設定します。

Androidで同じことをしたいのですが、私のAndroid開発者は、相対レイアウトのbcozは不可能だと言ったので、AndroidでiPhoneのようなものを作成するソリューションが必要です。

上記の例では、X、Y、幅、高さを含む 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 に答える