我有以下相对布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" 
android:orientation="vertical">

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

<TextView
    android:id="@+id/tv2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView"
    android:layout_alignLeft="@id/button1"/>

<TextView
    android:id="@+id/tv1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView"
    android:layout_alignRight="@id/button1" />
</RelativeLayout>

<Button
    android:id="@+id/button1"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:text="Button" />

</LinearLayout>

但这并没有给我我预期的结果,我希望实现以下目标:

TV1 -------------- TV2
| ------按钮------ |

所以,我希望textview1从按钮的左角开始,textview2从按钮的右边缘结束。

我怎样才能做到这一点?

#1楼 票数:2 已采纳

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" 
android:orientation="vertical">

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

<TextView
    android:id="@+id/tv2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView"
    android:layout_alignLeft="@+id/button1"/>

<TextView
    android:id="@+id/tv1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView"
    android:layout_alignRight="@+id/button1" />

<Button
    android:id="@+id/button1"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:text="Button"
    android:layout_below="@+id/tv1" />
</RelativeLayout>  

</LinearLayout>

#2楼 票数:0

尝试这个

  <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:gravity="center" 
 android:orientation="vertical">

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

 <TextView
     android:id="@+id/tv2"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="TextView"
     android:layout_alignParentLeft="true"/>

 <TextView
     android:id="@+id/tv1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="TextView"
     android:layout_alignParentRight="true"/>
 </RelativeLayout>

 <Button
     android:id="@+id/button1"
     android:layout_width="200dp"
     android:layout_height="wrap_content"
     android:text="Button" />

 </LinearLayout>

#3楼 票数:0

将按钮放在相对布局中。 然后将其添加到按钮xml属性 -

android:layout_below="@+id/tv1"

对于tv1 textview,添加 -

android:layout_alignLeft="button1"

对于tv2 textview,添加 -

android:layout_alignRight="button1"

#4楼 票数:0

尝试这个

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" 
android:orientation="vertical">

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

 <TextView
     android:id="@+id/tv2"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="TextView"
     android:layout_alignParentRight="true"/>

 <TextView
     android:id="@+id/tv1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="TextView"
     android:layout_alignParentLeft="true"
     android:layout_toLeftOf="@id/tv2"/>
 </RelativeLayout>


<Button
    android:id="@+id/button1"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:text="Button" />

</LinearLayout>

你需要设置android:layout_toLeftOf =“@ id / tv2”为tv1或android:layout_toRightOf =“@ id / tv1”为tv2停止相互重叠。

  ask by Robby Smet translate from so

未解决问题?本站智能推荐:

1回复

将textview放置在背景图标资产中

对于我的应用程序,我希望有四个空白八边形作为文本视图的背景。 我通过使用相对的布局和边距将textviews放置在正确的位置。 问题在于,除了我使用的设备(1020x1980)以外,其他视图上的文本视图也偏离中心。 因此,我想知道解决此问题的唯一方法是在dimens.xml文件中根据设备(
1回复

按钮和textview的android布局问题

我想根据下面可用的图像创建应用程序UI。 这里有人可以指导我如何实现这一目标吗? 图片来源 这里的数据如123 MB,456 MB是动态的,并且会随着应用程序本身的变化而不断变化。 因此,理想情况下应该有2个按钮,并且在特定按钮内部,我们将需要2个图像来显示上传/下载和2个tex
1回复

android将视图放置在图像上方的特定位置

我想创建一个包含图像的布局,并在其中放置许多图像和TextView。 我知道如何使用RelativeLayout将图像放置在彼此的顶部,但是如何以所需的方式对齐它们? 例如,我希望图像恰好位于我的“背景”图像带有特定黑色圆圈的地方。 使用android:layout_marginTop等值
3回复

在2个现有元素之间垂直居中放置TextView

我的Android项目中有一个RelativeLayout,它显示为一个简单的自定义对话框。 我在顶部有一个标题,在中间有一些文本,在底部有一个按钮。 我要做的就是将文本置于标题底部和按钮顶部之间 。 当居中时,TextView的顶部与标题的底部之间的距离应与TextView的底部与按
2回复

如何在另一个RelativeLayout的RelativeLayout内部放置TextView?

我在需要将TextView(绿色)放在RelativeLayout(黑色)下面的RelativeLayout(蓝色)内但ImageView(橙色)重叠的问题中 这是传说: RelativeLayout(黑色)id / image_view_container Image
3回复

Android:相对于ImageView放置按钮

我想使位图的一部分可以点击,我的布局看起来像这样: 我认为最简单的方法是使用相对布局在图像上放置一个按钮: 但我还没弄明白如何让按钮与图像的左上角对齐(而不是像现在这样,相对于相对布局的左上角)。 这可能与相对布局有关吗? 其他方法的建议也很受欢迎,我考虑过这个问题: h
5回复

只要按下按钮,如何更改图像…然后在按钮上显示默认值就不要按下android

我想在用户按住按钮时更改imageview的图像,并在用户释放按钮时更改为默认图像。
2回复

如何在Android中的RelativeLayout中以编程方式在按钮旁边显示文本视图?

我创建了一个RelativeLayout ,其中包含一个Button和一个TextView 。 使用此代码, TextView将显示在Button上方。 我该怎么做,以使Button左对齐和TextView右对齐? 什么东西少了? 这是我的代码: 谢谢!