通过java代码改变相对布局

时间:2012-05-09 08:07:16

标签: android android-layout relativelayout

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

例如,我想通过特定视图的Java代码设置这些属性。 android:gravity =“center_vertical”android:orientation =“vertical”

我该怎么办?请帮忙。

2 个答案:

答案 0 :(得分: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);

希望这会对你有所帮助

答案 1 :(得分:0)

在相对布局中,您必须使用其他布局参数: Layout params within relative layout