<LinearLayout
android:id="@+id/tipTitleLayout"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="2dp"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<com.me.view.text.MyTextView
android:id="@+id/tipTitleText"
style="@style/popupTitle"
android:layout_width="wrap_content"
android:layout_height="60dp"
android:layout_alignParentTop="true"
android:layout_gravity="left"
android:layout_marginLeft="5dp"
android:layout_marginRight="38dp"
android:layout_marginTop="10dp"
android:gravity="left"
android:text="Tip" />
</LinearLayout>
但是当ltrMode打开时,我的代码不会改变引力。
我想以编程方式更改此内容。
怎么回事?
private void setUpforRTL(){
if (AppService.getNativeManager().getLanguageRtl()) {
TextView addText2 = ((TextView)findViewById(R.id.tipText));
addText2.setGravity(Gravity.RIGHT);
TextView title = ((TextView)findViewById(R.id.tipTitleText));
title.setGravity(Gravity.RIGHT);
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)title.getLayoutParams();
params.gravity = Gravity.RIGHT;
title.setLayoutParams(params); //causes layout update
}
}
答案 0 :(得分:0)
更新布局参数后,您应该在周围的视图上调用requestLayout
。
答案 1 :(得分:0)
试试这个
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tipTitleLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right|center_vertical"
android:padding="10dp"
android:orientation="horizontal" >
<com.me.view.text.MyTextView
android:id="@+id/tipTitleText"
style="@style/popupTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tip" />
</LinearLayout>
答案 2 :(得分:-1)
将标题声明更改为LinearLayout,因为您已将其定义为xml中的LL。