为什么Android中的MyTextView不对齐?

时间:2013-11-11 11:04:38

标签: java android android-layout layout

   <RelativeLayout
        android:id="@+id/ShortTextTip"
        android:layout_width="150dp"
        android:layout_height="200dp"
        android:background="@drawable/bg_tip_left"
        android:gravity="center"
        android:paddingBottom="7dp"
        android:paddingLeft="7dp"
        android:paddingRight="7dp"
        android:paddingTop="6dp"
        android:layout_alignParentLeft="true"
        android:visibility="visible">


    <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" />

  </RelativeLayout>

但是我的代码在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);


}

}

3 个答案:

答案 0 :(得分:2)

除相对布局外,您尚未指定文本视图的放置位置。如果你愿意,你可以按照你所指定的那样把它放在右边:

<com.me.view.text.MyTextView
    android:id="@+id/tipText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tipTitleLayout"
    android:layout_gravity="center"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:layout_marginTop="10dp"
    android:maxLines="4"
    android:text="Navigation . everything else you need is here"
    android:textColor="#000000"
    android:layout_alignParentRight="true"
    android:textSize="16dp" />

答案 1 :(得分:1)

从您的问题来看,您似乎想要动态地执行此操作。试试这个, 在设置textview的规范时,请尝试调用title.requestLayout()

答案 2 :(得分:0)

如果要在父布局的右侧添加文本视图,请尝试以下操作:

<RelativeLayout
        android:id="@+id/ShortTextTip"
        android:layout_width="150dp"
        android:layout_height="200dp"
        android:background="@android:color/holo_purple"
        android:gravity="center"
        android:paddingBottom="7dp"
        android:paddingLeft="7dp"
        android:paddingRight="7dp"
        android:paddingTop="6dp"
        android:layout_alignParentLeft="true"
        android:visibility="visible">


    <TextView
        android:id="@+id/tipText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tipTitleLayout"
        android:layout_alignParentRight="true"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="10dp"
        android:maxLines="4"
        android:text="Navigation . everything else you need is here"
        android:textColor="#000000"
        android:textSize="16dp" />

  </RelativeLayout>

如果你想在textView中右对齐文本,那么将它添加到textView中:

    android:gravity="right"

如果您想以编程方式执行此操作:

View aa = (View) your_textView.getParent();
aa.setGravity(Gravity.RIGHT);