微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 为什么我的相对布局占据全屏宽度

为什么我的相对布局占据全屏宽度
<?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"
    android:background="#f00"
    >
    <Button  
        android:id="@+id/Button01"  
        android:text="Press Here"  
        android:layout_alignParentRight="true" 
        android:layout_width="wrap_content"   
        android:layout_height="wrap_content"></Button> 
     <Button  
        android:id="@+id/Button02"  
        android:text="02"  
        android:layout_alignParentLeft="true" 
        android:layout_width="wrap_content"   
        android:layout_height="wrap_content"></Button>  
</RelativeLayout>

我已经将相对布局指定为“wrap_content”,那么为什么它会占据整个屏幕空间.即使我说android:layout_width =“fill_parent”,输出也是一样的.

请赐教!

编辑:我想我之前对我的问题不太清楚.为此道歉.
当我在一个相对布局中有2个子视图,其中一个与父对齐,而另一个是右对齐,相对布局宽度是WRAP_CONTENT,那么我预计布局宽度只是2个按钮宽度的总和(不是这就是WRAP_CONTENT的含义??).我知道有其他方法可以实现我正在寻找的UI,但我只是想正确地理解这些相对布局标签.

编辑2:我已经尝试了一下,看起来如果我们使用Layout_AlighParentRight,其父级宽度为WRAP_CONTENT,那么上部布局宽度用于计算(如下面指出的几个答案).但是我们只使用Layout_alignParentLeft然后它按预期工作,并且布局宽度没有扩展到整个屏幕.谢谢你的帮助!

解决方法

其他答案正确地指出,当您的相对布局的宽度设置为wrap_content,并且其子项与左右对齐时,相对布局将采用其父级的宽度 – 在本例中为整个屏幕.但是,如果两个孩子都在一侧对齐,那么相对布局将与最宽的孩子一样宽.

现在,如果您希望将两个按钮彼此相邻放置,并且相对布局与按钮宽度的总和一样宽,则需要稍微不同的方法.不是将两个按钮相对于父按钮定位,而是仅使用一个按钮(例如,第一个按钮).假设它的位置保持不变(android:layout_alignParentRight =“true”).现在按钮浮动到右侧,因此第二个按钮,为了位于它旁边,必须与第一个按钮的左侧对齐.因此,我们只需添加android:layout_toLeftOf =“@ id / Button01”(并删除android:layout_alignParentLeft =“true”部分).

有关更多信息,建议您查看relative layouts上非常友好的教程.

原文地址:https://www.jb51.cc/android/316271.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐