0

我浏览了几个链接,但我无法找到是否可以通过 java 代码设置相对布局的其他属性,例如 android:gravity、android:orientation。我想通过java代码而不是通过xml来改变一些视图的位置。

例如,我想通过 java 代码为特定视图设置这些属性。android:gravity="center_vertical" android:orientation="vertical"

我该怎么做?请帮忙。

4

2 回答 2

1

正如Daan所说,您可以在android中使用布局参数进行相对布局

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;

但是正如您所说,您想为特定视图设置以下属性,您不能将这些属性分配给 RelativeLayout,因为它们属于 LinearLayout 和其他视图

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 回答