我有以下相对布局:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/relativeLayoutScrollableForCentering"
android:layout_below="@+id/addressOfProvider"
android:layout_centerHorizontal="true">
我想以编程方式更改属性“layout_centerHorizontal”。我怎么能这样做?
我不确定要设置哪些布局参数:
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
通过使用:
获得相对布局后,实现我想要的RelativeLayout relLayoutForCentering =
(RelativeLayout)view.findViewById(R.id.relativeLayoutScrollableForCentering);
答案 0 :(得分:0)
您可以使用addRule和removeRule方法为RelativeLayout.LayoutParams添加和删除规则:
layoutParams.removeRule(RelativeLayout.CENTER_HORIZONTAL);
layoutParams.addRule(RelativeLayout.CENTER_VERTICAL);
答案 1 :(得分:0)
android:layout_centerHorizontal不是视图的子属性,而是视图本身的属性
答案 2 :(得分:0)
捕捉布局并设置布局的重力。
RelativeLayout lay=(RelativeLayout)findViewById(R.id.lay);
lay.setGravity(Gravity.CENTER_HORIZONTAL);