我正在尝试拥有两个文本视图,一个在父容器的右侧,另一个在右边。
类似于:
+++++++++++++++++++++++++++++++++++++ (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>注意:100 to只是为了显示问题。
更新:
删除android:layout_alignParentTop="true“和android:layout_alignParentRight="true”后,我得到:

发布于 2015-11-30 19:14:16
在第二个TextView中,使用android:layout_toLeftOf="@id/textView1"并删除android:layout_alignParentTop="true"和android:layout_alignParentRight="true"
如下所示:
<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>实际上所做的是:
当您在两个android:alignParentRight="true"中使用textViews时,它都会将两个textViews放在右侧互相重叠。
因此,在将其添加到一个textView中时,它只会将其对齐到右侧。然后添加toLeftOf,将其放置在第一个textView的左边。
更新:
我没有为这个问题找到任何文档,RelativeLayout的优先级是多少?但是,我深入RelativeLayout.java文件来找出答案。有点难以理解。
所以我试着玩这些选项和我发现的:
android:layout_alignParentEnd="true",那么优先级将被赋予android:layout_toEndOf="@id/view2",那么优先级将被赋予android:layout_toStartOf="@id/view1",那么优先级将被赋予android:layout_alignParentStart="true"、android:layout_centerHorizontal="true"和android:layout_toStartOf="@id/view1"
然后,优先权将按顺序排列。
android:layout_alignParentStart="true“//1 High android:layout_toStartOf="@id/view1”//2介质android:layout_centerHorizontal="true“//3 Low
因此,这意味着android:layout_centerHorizontal只有在android:layout_alignParentStart和android:layout_toStartOf不存在的情况下才能工作。希望现在一切都清楚了。如果有人找到了这方面的文档,我很乐意阅读关于优先事项的文章。
发布于 2015-11-30 19:18:19
android:layout_alignParentRight="true"将其从textView2中删除
https://stackoverflow.com/questions/34006068
复制相似问题