0

私はいくつかのリンクを調べましたが、Android:gravity、Android:orientation などの相対レイアウトの他の属性を Java コードで設定できるかどうかを見つけることができません。xml ではなく Java コードを使用して、いくつかのビューの位置を変更したいと考えています。

たとえば、特定のビューの Java コードを使用してこれらの属性を設定したいと考えています。android:gravity="center_vertical" android:orientation="vertical"

どうすればそうできますか?助けてください。

4

2 に答える 2

1

Daanが言ったように、Androidの相対的なレイアウトにLayout paramsを使用できます

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.alignWithParent = true;
params.bottomMargin = 5;
params.height = 50;
params.leftMargin = 50;

ただし、特定のビューに次の属性を設定したいと言ったように、これらの属性は LinearLayout および他のビューに属しているため、これらの属性を RelativeLayout に割り当てることはできません

android:gravity="center_vertical" android:orientation="vertical"

ビューの重力を設定するには、コードに従ってください

tv = (TextView)findViewById(R.id.tv01);
tv.setGravity(Gravity.CENTER_VERTICAL);

ビューの向きを設定することはできません..代わりに、向きを LinearLayout に設定できます

このような

LinearLayout linearLayout = new LinearLayout(this);
linearLayout.setOrientation(LinearLayout.VERTICAL);

これがあなたを助けることを願っています

于 2012-05-09T08:41:19.307 に答える
0

相対レイアウト内では、他のレイアウト パラメータを使用する必要があります: 相対レイアウト内のレイアウト パラメータ

于 2012-05-09T08:19:13.223 に答える