Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在文本视图中将文本向右对齐_Android_Android Layout_Android Studio - Fatal编程技术网

Android 如何在文本视图中将文本向右对齐

Android 如何在文本视图中将文本向右对齐,android,android-layout,android-studio,Android,Android Layout,Android Studio,搜索并找到了许多解决方案,但在我的案例中似乎没有任何效果。 我有两个文本视图,并排。这就是我在预览中得到的 我想要这个 我已经写了下面的代码,但它没有给我想要的输出 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent">

搜索并找到了许多解决方案,但在我的案例中似乎没有任何效果。 我有两个文本视图,并排。这就是我在预览中得到的

我想要这个

我已经写了下面的代码,但它没有给我想要的输出

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:orientation="horizontal">


        <TextView
            android:id="@+id/tvContactsHeading"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:textSize="18sp"
            android:paddingRight="10dp"
            android:text="Heading "
            android:textStyle="bold"
            android:fontFamily="sans-serif-regular"
            />

        <TextView
            android:id="@+id/tvContactsText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:textSize="18sp"
            android:text="Text "
            android:textStyle="normal"
            android:fontFamily="sans-serif-regular"
            />


    </LinearLayout>


</RelativeLayout>
如果我使用android:layou\u gravity向左或向右,它会将整个文本带到左侧或右侧。。我想把两个文本放在中间,一个从右角开始,另一个从左角开始


请指导我。

您可以为每个文本添加android:layout\u weight=1,然后根据需要更改重力

    <TextView
        android:id="@+id/tvContactsHeading"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:paddingRight="10dp"
        android:text="Heading "
        android:textStyle="bold"
        android:gravity="right|center_vertical|center_horizontal"
        android:fontFamily="sans-serif-regular"
        />

    <TextView
        android:id="@+id/tvContactsText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:text="Text "
        android:textStyle="normal"
        android:gravity="center|center_vertical|center_horizontal"
        android:fontFamily="sans-serif-regular"
        />
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:orientation="horizontal">


    <TextView
        android:id="@+id/tvContactsHeading"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="18sp"
        android:paddingRight="10dp"
        android:text="Heading "
        android:textStyle="bold"
        android:fontFamily="sans-serif-regular"
        android:layout_weight="1"
        />

    <TextView
        android:id="@+id/tvContactsText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="18sp"
        android:text="Text "
        android:textStyle="normal"
        android:fontFamily="sans-serif-regular"
        android:layout_weight="1"
        />


</LinearLayout>

您还可以使用相对布局来实现这一点,这样会更好

您可以为每个文本添加android:layou\u weight=1,然后根据需要更改重力

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:orientation="horizontal">


    <TextView
        android:id="@+id/tvContactsHeading"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="18sp"
        android:paddingRight="10dp"
        android:text="Heading "
        android:textStyle="bold"
        android:fontFamily="sans-serif-regular"
        android:layout_weight="1"
        />

    <TextView
        android:id="@+id/tvContactsText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="18sp"
        android:text="Text "
        android:textStyle="normal"
        android:fontFamily="sans-serif-regular"
        android:layout_weight="1"
        />


</LinearLayout>

您也可以使用相对布局来实现这一点,这样会更好。

我已经亲自检查了下面的XML文件

只需将两个文本视图的android:layout\u weight=1,并将两个文本视图的android:layout\u width=0dp

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">


<LinearLayout
    android:id="@+id/linearLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">


    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:fontFamily="sans-serif-regular"
        android:gravity="right"
        android:paddingRight="10dp"
        android:text="this code is working fine for me"
        android:textSize="18sp"
        android:textStyle="bold" />

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:fontFamily="sans-serif-regular"
        android:gravity="left"
        android:text="this is right side of the layout"
        android:textSize="18sp"
        android:textStyle="normal" />


   </LinearLayout>

 </RelativeLayout>

希望它能帮助你:

我已经亲自检查了下面的XML文件

只需将两个文本视图的android:layout\u weight=1,并将两个文本视图的android:layout\u width=0dp

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">


<LinearLayout
    android:id="@+id/linearLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">


    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:fontFamily="sans-serif-regular"
        android:gravity="right"
        android:paddingRight="10dp"
        android:text="this code is working fine for me"
        android:textSize="18sp"
        android:textStyle="bold" />

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:fontFamily="sans-serif-regular"
        android:gravity="left"
        android:text="this is right side of the layout"
        android:textSize="18sp"
        android:textStyle="normal" />


   </LinearLayout>

 </RelativeLayout>
希望它能帮助你:

设置布局宽度以匹配父母,然后应用你想要的重力。 LinearLayout不允许您将项目放置在右侧。因此,您必须将TextView设置为全宽,以便为其内容应用重力

其他选项是,可以用FrameLayout替换LinearLayout。 FrameLayout允许绝对定位,LinearLayout不允许,这将不需要将TextView设置为全宽。

将布局宽度设置为匹配,然后应用所需的重力。 LinearLayout不允许您将项目放置在右侧。因此,您必须将TextView设置为全宽,以便为其内容应用重力

其他选项是,可以用FrameLayout替换LinearLayout。 FrameLayout允许绝对定位,LinearLayout不允许,这不需要将TextView设置为全宽。

您必须为LinearLayout指定匹配父宽度

使用此代码

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:orientation="horizontal"
            android:weightSum="1">


            <TextView
                android:id="@+id/tvContactsHeading"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="right"
                android:textSize="18sp"
                android:text="HeadingShort"
                android:textStyle="bold"
                android:paddingRight="10dp"
                android:layout_weight="0.5"
                android:fontFamily="sans-serif-regular"
                />

            <TextView
                android:id="@+id/tvContactsText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="left"
                android:textSize="18sp"
                android:text="TextShort"
                android:textStyle="normal"
                android:layout_weight="0.5"
                android:fontFamily="sans-serif-regular"
                />


        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:orientation="horizontal"
            android:layout_weight="1.0"
            android:layout_marginTop="20dp">


            <TextView
                android:id="@+id/tvContactsHeading2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="right"
                android:textSize="18sp"
                android:text="HeadingLongggg"
                android:textStyle="bold"
                android:paddingRight="10dp"
                android:layout_weight="0.5"
                android:fontFamily="sans-serif-regular"
                />

            <TextView
                android:id="@+id/tvContactsText2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="left"
                android:textSize="18sp"
                android:text="HeadingLoggg"
                android:textStyle="normal"
                android:layout_weight="0.5"
                android:fontFamily="sans-serif-regular"
                />


        </LinearLayout>
    </RelativeLayout>
您的输出是

必须为LinearLayout指定匹配父宽度

使用此代码

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:orientation="horizontal"
            android:weightSum="1">


            <TextView
                android:id="@+id/tvContactsHeading"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="right"
                android:textSize="18sp"
                android:text="HeadingShort"
                android:textStyle="bold"
                android:paddingRight="10dp"
                android:layout_weight="0.5"
                android:fontFamily="sans-serif-regular"
                />

            <TextView
                android:id="@+id/tvContactsText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="left"
                android:textSize="18sp"
                android:text="TextShort"
                android:textStyle="normal"
                android:layout_weight="0.5"
                android:fontFamily="sans-serif-regular"
                />


        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:orientation="horizontal"
            android:layout_weight="1.0"
            android:layout_marginTop="20dp">


            <TextView
                android:id="@+id/tvContactsHeading2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="right"
                android:textSize="18sp"
                android:text="HeadingLongggg"
                android:textStyle="bold"
                android:paddingRight="10dp"
                android:layout_weight="0.5"
                android:fontFamily="sans-serif-regular"
                />

            <TextView
                android:id="@+id/tvContactsText2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="left"
                android:textSize="18sp"
                android:text="HeadingLoggg"
                android:textStyle="normal"
                android:layout_weight="0.5"
                android:fontFamily="sans-serif-regular"
                />


        </LinearLayout>
    </RelativeLayout>
您的输出是


这些图片的文本对齐方式有什么不同?在第二张图片中,两个图片之间的间距是均匀的,而在第一张图片中,两个文本之间的间距是不均匀的。@Kirmani88参见下面的答案。这些图片的文本对齐方式有什么不同?在第二张图片中,两个图片之间的间距是均匀的,而在第一张图片中,两个文本之间的间距不均匀。@Kirmani88请参见下面我的答案。