RelativeLayout weight

7 浏览
0 Comments

RelativeLayout weight

在一个布局资源XML中,我有3个RelativeLayout,它们位于一个主RelativeLayout内部。视图将垂直显示。这3个RelativeLayout被设置为相邻,并且我希望它们填满整个屏幕,不管屏幕尺寸如何。我的布局视图如下:\n\n\n\n \n \n\n \n \n \n \n\n\n我为每个RelativeLayout设置了`weight=1`和`layout_width=0dp`,这种技术对于按钮是有效的,我以为RelativeLayout也是一样,看来我想错了。有什么想法吗?\nUPD1:我添加了一个我想要的图片

0
0 Comments

相信很多开发者在使用RelativeLayout时都遇到过权重分配的问题。然而,解决这个问题其实非常简单。下面就给大家介绍一个小技巧,适用于这类情况。

解决方法是使用LinearLayout,并将属性android:orientation设置为"horizontal"。这样就能实现权重分配了。

可能有人会质疑,android:orientation是RelativeLayout的属性吗?其实,这个属性是LinearLayout的。那么滚动功能怎么办呢?这个可以通过HorizontalScrollView来实现。希望回答能更加详细一些!

以上就是解决RelativeLayout权重分配问题的方法,希望对大家有所帮助。

0
0 Comments

相对布局(RelativeLayout)不支持权重(weight)的概念。如果想要使用权重,需要将父容器设置为线性布局(LinearLayout)。

如果父容器是相对布局,但仍想使用权重的话,可以在线性布局(LinearLayout)中添加多个相对布局(RelativeLayouts)。这样做可能会有些复杂,但是是可行的。

可以尝试在相对布局(RelativeLayout)中嵌套线性布局(LinearLayout),再在线性布局中添加三个相对布局。但是并不清楚这样做会有什么效果。

解决方法是将父容器改为线性布局(LinearLayout),这样就可以使用权重(weight)属性了。这样可以实现子视图的按比例分配空间的需求。

下面是一个示例代码,展示了如何在线性布局中使用权重属性:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:text="TextView 1" />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2"
        android:text="TextView 2" />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="3"
        android:text="TextView 3" />
</LinearLayout>

以上代码中,三个文本视图(TextView)的高度会按照权重比例进行分配,第一个文本视图占1份,第二个占2份,第三个占3份。

0
0 Comments

RelativeLayout不支持android:layout_weight属性,这是LinearLayout.LayoutParams的属性,而不是RelativeLayout.LayoutParams的属性。

要得到你想要的布局,你应该使用一个更简单的视图层次结构。由于最后两个RelativeLayout是空的,所以不清楚你想要做什么。如果你需要纯粹的垂直布局,我建议使用LinearLayout而不是RelativeLayout。

根据你的编辑,看起来你想要一个水平布局的三个复合视图,每个视图都可以点击。我认为下面的代码会起作用:


    
    
        
        
    
    
    
        . . .
    

如果按钮的内容不正确,你可以用RelativeLayout替换第二级的LinearLayout视图,如果这样可以更好地组织布局。

我确实在RelativeLayout内部有一些要以准确方式定位的元素,它将是一种自定义的可点击元素,带有图像等等。由于我的编码知识很差

- 如果你提供关于你想要的布局的更多细节(一张草图或截图将非常好),我们可以帮助你实现它。还要注意,垂直LinearLayout可以包含嵌套布局,以在需要的行上提供水平组织。

谢谢你的反馈,我已经更新了我的帖子,你可以看到我想要的布局。我想让每个RelativeLayout可点击,所以它们将作为按钮。所有三个都具有相同的设计,但图像类型和文本不同。

- 我看到你已经接受了我的答案,但我编辑了它以建议我将如何处理你试图实现的内容。

没关系,我稍微改了一下,RelativeLayout->LinearLayout->RelativeLayout。在我的情况下,我必须这样做,因为我必须定位元素。

0