gpt4 book ai didi

android - 对齐到相对布局的右侧似乎不起作用

转载 作者:行者123 更新时间:2023-11-29 15:45:14 26 4
gpt4 key购买 nike

我试图让 2 个 TextView 一个挨着一个在父容器的右侧。
像这样的东西:

+++++++++++++++++++++++++++++++++++++  (parent container)  
| TextView2 TextView1 |
+++++++++++++++++++++++++++++++++++++

以下不起作用,但我不明白为什么

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="100dp"
android:layout_height="match_parent">

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

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="TEXTVIEW-1" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_toLeftOf="@id/textView1"
android:layout_marginRight="1dp"
android:text="TEXTVIEW-2" />

</RelativeLayout>

</LinearLayout>

注意:100dp只是为了说明问题

更新:
删除 android:layout_alignParentTop="true"和 android:layout_alignParentRight="true"我得到:

enter image description here

最佳答案

在您的第二个 TextView 上,使用 android:layout_toLeftOf="@id/textView1" 并删除 android:layout_alignParentTop="true"android:layout_alignParentRight= “真”

像这样:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="100dp"
android:layout_height="match_parent">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="TEXTVIEW-1"
/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/textView1"
android:layout_marginRight="1dp"
android:text="TEXTVIEW-2"
/>

</RelativeLayout>

</LinearLayout>

它实际做的是:

当您在两个 textView 中使用 android:alignParentRight="true" 时,它会将两个 textView 放置在彼此重叠的右侧。

因此,仅将它添加到一个 textView 时,它只会将其对齐到右侧。然后添加 toLeftOf 会将其放置在第一个 textView 的左侧。

UPDATE:

我没有找到关于如何优先考虑 RelativeLayout 的问题的任何文档。但是,我深入研究了 RelativeLayout.java 文件以找出答案。有点难以理解。

所以我尝试使用选项和发现的内容:

  • 如果您应用 android:layout_alignParentStart="true"android:layout_alignParentEnd="true" 将优先考虑 android:layout_alignParentStart

  • 如果您应用 android:layout_toStartOf="@id/view2"android:layout_toEndOf="@id/view2" 将优先考虑android:layout_toEndOf

  • 如果您应用 android:layout_alignParentStart="true"android:layout_toStartOf="@id/view1" 将优先考虑 android:layout_alignParentStart

  • 如果您应用 android:layout_alignParentStart="true"android:layout_centerHorizo​​ntal="true"android:layout_toStartOf="@id/查看 1"

    然后会按照优先级排序

     android:layout_alignParentStart="true"   //1 High
    android:layout_toStartOf="@id/view1" //2 Medium
    android:layout_centerHorizontal="true" //3 Low

    所以,这意味着只有当 android:layout_alignParentStartandroid:layout_toStartOf 不存在时,android:layout_centerHorizo​​ntal 才会工作。

希望现在一切都清楚了。如果有人找到这方面的文档,我很乐意阅读有关优先级的信息。

关于android - 对齐到相对布局的右侧似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34006068/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com