Android 通过java代码更改相对布局

Android 通过java代码更改相对布局,android,android-layout,android-relativelayout,Android,Android Layout,Android Relativelayout,我浏览了几个链接,但我无法找到是否可以通过java代码设置相对布局的其他属性,如android:gravity、android:orientation。 我想通过java代码而不是xml来更改某些视图的位置 e、 我想通过java代码为特定视图设置这些属性。android:gravity=“center\u vertical”android:orientation=“vertical” 我怎样才能做到?请提供帮助。在相对布局中,您必须使用其他布局参数: 正如Daan所说,您可以在android中

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

e、 我想通过java代码为特定视图设置这些属性。android:gravity=“center\u vertical”android:orientation=“vertical”


我怎样才能做到?请提供帮助。

在相对布局中,您必须使用其他布局参数:

正如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);

希望这能帮助您

重力在相对布局中不可用。