我想知道如何动态更改FrameLayout的layout_centerHorizontal。
<FrameLayout
android:id="@+id/myFrameLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
>
</FrameLayout>
答案 0 :(得分:3)
使用以下示例代码更改RelativeLayout中View的属性 ,
RelativeLayout.LayoutParams params = (LayoutParams) myFrameLayout.getLayoutParams();//get old parameters
params.addRule(RelativeLayout.CENTER_HORIZONTAL, 0);//change parameter
myFrameLayout.setLayoutParams(params);//set new parameters
答案 1 :(得分:2)
android:layout_centerHorizontal用于父布局,这意味着它的父级必须是RelativeLayout而不是它自己。 以下示例代码对我来说没问题(对于true表示为RelativeLayout.TRUE,对于false表示为0):
TextView mTextView = (TextView) findViewById(R.id.textView);
RelativeLayout.LayoutParams rl = (LayoutParams) mTextView.getLayoutParams();
rl.addRule(RelativeLayout.CENTER_HORIZONTAL, 0);
mTextView.setLayoutParams(rl);