如何更改android:layout_centerHorizo​​ntal =" true"到"假"在运行时

时间:2015-04-10 02:53:53

标签: android android-framelayout

我想知道如何动态更改FrameLayout的layout_centerHorizo​​ntal。

<FrameLayout
    android:id="@+id/myFrameLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_centerHorizontal="true"
    >
</FrameLayout>

2 个答案:

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

Click to learn more about RelativeLayout.LayoutParams

答案 1 :(得分:2)

android:layout_centerHorizo​​ntal用于父布局,这意味着它的父级必须是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);