如何在运行时将 android : layout_centerHorizontal = "true" 更改为 "false"
how to change android : layout_centerHorizontal = "true" to "false" at runtime
我想知道如何动态更改 layout_centerHorizontal 我的 FrameLayout。
<FrameLayout
android:id="@+id/myFrameLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
>
</FrameLayout>
使用以下示例代码更改 RelativeLayout 中视图的属性 ,
RelativeLayout.LayoutParams params = (LayoutParams) myFrameLayout.getLayoutParams();//get old parameters
params.addRule(RelativeLayout.CENTER_HORIZONTAL, 0);//change parameter
myFrameLayout.setLayoutParams(params);//set new parameters
android:layout_centerHorizontal用于父布局,这意味着它的父布局必须是 RelativeLayout 而不是它自己。
下面的示例代码对我来说很好(表示为 RelativeLayout.TRUE 表示 true 或 0 表示 false):
TextView mTextView = (TextView) findViewById(R.id.textView);
RelativeLayout.LayoutParams rl = (LayoutParams) mTextView.getLayoutParams();
rl.addRule(RelativeLayout.CENTER_HORIZONTAL, 0);
mTextView.setLayoutParams(rl);
我想知道如何动态更改 layout_centerHorizontal 我的 FrameLayout。
<FrameLayout
android:id="@+id/myFrameLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
>
</FrameLayout>
使用以下示例代码更改 RelativeLayout 中视图的属性 ,
RelativeLayout.LayoutParams params = (LayoutParams) myFrameLayout.getLayoutParams();//get old parameters
params.addRule(RelativeLayout.CENTER_HORIZONTAL, 0);//change parameter
myFrameLayout.setLayoutParams(params);//set new parameters
android:layout_centerHorizontal用于父布局,这意味着它的父布局必须是 RelativeLayout 而不是它自己。 下面的示例代码对我来说很好(表示为 RelativeLayout.TRUE 表示 true 或 0 表示 false):
TextView mTextView = (TextView) findViewById(R.id.textView);
RelativeLayout.LayoutParams rl = (LayoutParams) mTextView.getLayoutParams();
rl.addRule(RelativeLayout.CENTER_HORIZONTAL, 0);
mTextView.setLayoutParams(rl);