繁体   English   中英

RelativeLayout不会包装右对齐的TextView

[英]RelativeLayout won't wrap right-aligned TextView

在我的消息传递应用程序的XML中,该消息用于右对齐的消息(传出),我无法获取RelativeLayout来包装其内容(右对齐的TextView)。 我会发布图片,但是我是新来的,因此需要更多的声誉。

包含文本(消息)的RelativeLayout具有文本气泡背景,我希望可以很好地环绕文本。 我可以轻松地在其他XML文件中处理左对齐消息(传入)。

具体来说,我的问题是最里面的RelativeLayout。

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>

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

    <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"
                    android:layout_marginStart="10dp">
        <TextView
                android:id="@+id/txtSender"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:text=""
                android:textSize="16sp"
                android:singleLine="true"
                android:layout_alignParentEnd="true"
                android:paddingRight="10dp"
                android:paddingLeft="10dp"
                android:textColor="@android:color/black" android:textStyle="bold"/>

        <TextView
                android:id="@+id/txtDate"
                android:layout_alignParentStart="true"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="2dp"
                android:paddingRight="2dp"
                android:paddingBottom="2dp"
                android:textSize="12sp"
                android:text=""
                android:layout_alignBottom="@+id/txtSender"
                />

        <RelativeLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/txtSender"
                android:padding="5dp"
                android:background="@drawable/purple_bubble"
                android:layout_alignParentEnd="true"
                android:layout_toEndOf="@+id/txtDate">

            <TextView
                    android:id="@+id/txtMessage"
                    android:paddingEnd="15dp"
                    android:paddingStart="7dp"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentEnd="true"
                    android:textColor="@android:color/black"
                    android:text="Hello, how are you?"/>
        </RelativeLayout>
    </RelativeLayout>
</RelativeLayout>

在相对布局中包装线性布局。 向线性布局添加布局重力。 这就是我做到的。 您可以将其用作参考,

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">

<LinearLayout
    android:id="@+id/layoutSms"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="right"
    android:layout_alignParentRight="true"
    android:background="@drawable/txt_green"
    android:orientation="vertical">

    <TextView
        android:id="@+id/txtSms"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />

    <TextView
        android:id="@+id/txtSmsDate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:textColor="#1E2CED"
        android:text="TextView"
        android:textSize="10dp" />


   </LinearLayout>
</RelativeLayout>

我只是尝试在textMessage中删除代码android:layout_alignParentEnd="true" ,然后看到文本是左对齐的。

我不知道为什么会这样,我不知道您真正想要什么,只是左对齐? 也许您可以尝试此操作,或使用其他布局来构架您的应用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM