如何设计从右到左的线性布局

Sad*_*egh 24 android android-layout

首先抱歉我的英语不好!

我设计了一个布局.这是布局的一部分:

 <ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="5dip" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/shape_details"
        android:orientation="vertical"
        android:padding="10dip" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="right" >

            <TextView
                android:id="@+id/txt_details_ostan"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="right"
                android:text="Medium Text"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#0000FF" />


            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="?????"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#AA0000" />
        </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

首选语言方向是从右到左.红色是主题,蓝色是从数据库读取的文本.

问题是文本有很多字符,当在这个布局中显示时,主题将消失,因为我的布局是"从左到右",文本填充所有布局.

我搜索了很多,但我找不到任何方法来改变"从右到左"的布局.

小智 16

将以下行添加到您的布局:

android:layoutDirection="rtl"
android:layout_alignParentRight="true"
Run Code Online (Sandbox Code Playgroud)


Jst*_*wll 11

试着这样做:

  1. 将LinearLayout更改为RelativeLayout
  2. 将主题与父权限对齐
  3. 将主题文本放在主题的左侧

这是一个例子:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrollView1"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:padding="5dip" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:padding="10dip" >

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="right" >

            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:text="?????"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#AA0000" />

            <TextView
                android:id="@+id/txt_details_ostan"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="right"
                android:layout_toLeftOf="@+id/textView3"
                android:text="This is a sample of a long message. It will not push the topic off screen."
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#0000FF" />

        </RelativeLayout>
    </LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

  • android:layoutDirection ="rtl"这是一个更好的解决方案,如下所示:https://developer.android.com/reference/android/view/View.html#attr_android:layoutDirection (3认同)
  • کلک مرغابی زدی:) ولی راست به چپ نیست (2认同)