当前位置: 首页 > 知识库问答 >
问题:

相对布局中的布局权重

秦信瑞
2023-03-14

我知道线性布局中的布局权重。我可以在相对布局中分配布局权重吗?

示例:布局中的两个图像视图以60:40的比例填充布局。第一个图像应占据整个屏幕高度的60%,第二个图像必须占据剩余的40%屏幕。

不要只是回答这个例子的问题,请告诉我准确的概念,或者张贴一些关于相对布局中布局权重的参考链接。提前感谢。

共有3个答案

萧光华
2023-03-14

实际上,您不能在RelativeLayout中使用权重,但您可以使用相对布局和线性布局的组合,以便同时利用它们的优势!

提示:尝试使用尽可能少的布局,以避免由于多个屏幕测量而使UI变慢![1] [2]

司空皓
2023-03-14

相对布局不需要砝码。您可以移动图像视图,以确保它们的比例正确。权重仅用于LinearLayout。

辛健
2023-03-14

您可以将不可见的视图放置在布局的中心,并在左侧和右侧对齐视图。下面是一个示例

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

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_toLeftOf="@+id/view"
        android:background="#fffba2" />

    <View 
        android:id="@+id/view"
        android:layout_width="1dp"
        android:layout_height="1dp"
        android:layout_centerHorizontal="true"
        android:visibility="invisible" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_toRightOf="@+id/view"
        android:background="#ba2fff" />

</RelativeLayout>
 类似资料:
  • 另外一个使用相对布局的方式是对节点使用origin和offset属性来指定相对另外一个节点的位置。 [ Left ] -> [ Right ] { origin: Left; offset: 2,1; } +------+ | Left | +------+ | | +-------+ +------------> | Right |

  • 本文向大家介绍相对布局和绝对布局,position:relative和obsolute。相关面试题,主要包含被问及相对布局和绝对布局,position:relative和obsolute。时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 相对定位relative: 如果对一个元素进行相对定位,它将出现在它所在的位置上。然后,可以通过设置垂直或水平位置,让这个元素“相对于”它的起点进行移动。

  • 主要内容:本节引言,1.核心属性图,2.父容器定位属性示意图,3.根据兄弟组件定位,4.margin与padding的区别,5.很常用的一点:margin可以设置为负数,本节小结:本节引言 在上一节中我们对LinearLayout进行了详细的解析,LinearLayout也是我们 用的比较多的一个布局,我们更多的时候更钟情于他的weight(权重)属性,等比例划分,对屏幕适配还是 帮助蛮大的;但是使用LinearLayout的时候也有一个问题,就是当界面比较复杂的时候,需要嵌套多层的 Linea

  • 本文向大家介绍Android RelativeLayout 相对布局,包括了Android RelativeLayout 相对布局的使用技巧和注意事项,需要的朋友参考一下 示例 RelativeLayout是一个ViewGroup以相对位置显示子视图的。默认情况下,所有子视图都绘制在布局的左上角,因此您必须使用中提供的各种布局属性来定义每个视图的位置RelativeLayout.LayoutPar

  • 在上一节中我们讲到了 LinearLayout,这也是大家学到的第一个布局方式。它支持将多个 View 通过线性的方式(水平或垂直)组合起来,其中最实用的就是 weight 属性,用好 weight 可以让你的线性布局更灵活美观。 然而,在上一节的例子中我们发现,如果需要在多个方向上进行布局,就要嵌套多个 LinearLayout,可以想象如果我们的 UI 足够复杂,那么从工作量和性能上都将是一场

  • 我直接在相对布局中有两个线性布局。 我希望第一个LinearLayout占据75%的高度,接下来占据25%。我如何实现这一点? 例如 我希望线性布局1使用可用高度的75%,线性布局2使用25%<没有为LinearLayout定义layout_weight,因此显然它不起作用。 我有什么办法可以做到这一点吗? 这似乎是一个非常常见的场景,所以我几乎可以肯定这个问题以前被问过。 但我似乎没有找到它。请