android - relativeLayout 设置为 wrap_content 与 alignParentRight?

标签 android android-layout android-relativelayout right-align

我想设置相对布局来包装内容,并将所有子项右对齐,这里是 xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout18"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#000">


    <TextView
        android:id="@+id/textViewMsgDate"
        android:layout_alignParentRight="true"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:layout_gravity="right"
        android:layout_marginRight="8dp"
        android:gravity="center"
        android:textColor="#ffff"
        android:text="simple"
        />

</RelativeLayout>

enter image description here

但正如您在图片中看到的,我没有成功?尽管如果我按预期对齐左侧 wrap_content 工作。

最佳答案

这里的问题是您将 RelativeLayout 的子项与其父项的 (RelativeLayout) 对齐,因为 RelativeLayout 的宽度设置为 wrap_content 这不会移动子项。

如果您不想让子元素在父元素的右侧对齐,那么父元素的宽度应该大于它的子元素。因此,要么给 RelativeLayout 一些宽度,要么使其成为“match_parent”,或者将 RelativeLayout 本身右对齐,以便其子项 (TextView) 随之移动。

注意:如果您向左对齐并使 RelativeLayout 宽度为“wrap_content”,它的行为与您预期的一样,因为 RelativeLayout 已经向左对齐,因此它也是子布局。

已编辑

要实现你想要的,只需这样做:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout18"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<RelativeLayout
    android:id="@+id/textview_wrapper"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:background="#000">

    <TextView
       android:id="@+id/textViewMsgDate"
       android:layout_width="wrap_content"
       android:layout_height="50dp"
       android:layout_marginRight="8dp"
       android:textColor="#ffff"
       android:text="simple"
    />
</RelativeLayout></RelativeLayout>

结果应该是这样的:

Output

关于android - relativeLayout 设置为 wrap_content 与 alignParentRight?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32485553/

相关文章:

android - 如何在 Android 上设置 Google Drive 访问超时

Android auto DHU - 无法从传输中读取 - 断开连接。退出

android - setImageBitmap 没有可见效果

android - 如何以编程方式在android中使用google api从gmail中获取前20个联系人

android - 交错网格布局管理器。如何在第一行有一个项目,其他行有 2 个项目

android - 拖放持久位置

java - 在java代码中使用相对布局

android - 什么是默认布局背景

Android List + Adapter 仅显示第一个条目

android - Android中缩放、旋转、平移后如何获取View相对于Parent的位置?