gpt4 book ai didi

android - 相对布局权重

转载 作者:IT老高 更新时间:2023-10-28 23:10:47 30 4
gpt4 key购买 nike

在布局资源 XML 中,我有 3 个 RelativeLayout(s),它们位于主 RelativeLayout 内。 View 将垂直显示。这 3 个 RelativeLayout() 彼此相邻设置,我希望它们填满整个屏幕,不管屏幕大小是多少。我的,布局 View :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/backg"
>

<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="@dimen/top_mr_image"
android:src="@drawable/temp" />

<RelativeLayout
android:id="@+id/r1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_below="@+id/imageView1"
android:layout_marginLeft="10dp"
android:background="@drawable/r1bg"
android:layout_weight="1"

>

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="@dimen/txt_mr_right"
android:layout_marginRight="@dimen/txt_mr_right"
android:layout_marginTop="39dp"
android:text="S"
android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@id/textView1"
android:layout_marginLeft="@dimen/txt_mr_right"
android:layout_marginRight="@dimen/txt_mr_right"
android:text="T"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>

<RelativeLayout
android:id="@+id/r2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignTop="@+id/r1"
android:layout_toRightOf="@+id/r1"
android:layout_weight="1" >
</RelativeLayout>

<RelativeLayout
android:id="@+id/r3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignTop="@+id/r2"
android:layout_toRightOf="@+id/r2"
android:layout_weight="1" >

</RelativeLayout>

我为每个 relativeLayout 设置了 weight=1layout_width=0dp 并且这种技术适用于按钮,我认为 relativeLayout 也是如此,看来我的想法是错误的.有什么想法吗?

UPD1:我添加了一张我想要的图片

enter image description here

最佳答案

RelativeLayout 不关注 android:layout_weight。 (这是 LinearLayout.LayoutParams 的属性,而不是 RelativeLayout.LayoutParams 的属性。)

您应该能够使用更简单的 View 层次结构获得所需的布局。目前尚不清楚您要做什么,因为最后两个 RelativeLayout 是空的。如果你需要一个纯粹的垂直组织,我建议使用 LinearLayout 而不是 RelativeLayout

编辑根据您的编辑,您似乎想要三个复合 View 的水平布局,每个 View 都可点击。我认为以下内容会起作用:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
>

<!-- First column -->
<LinearLayout
android:id="@+id/firstColumn"
android:orientation="vertical"
android:gravity="center_horizontal"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
>

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="..." />
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="text 1"
. . . />
</LinearLayout>

<!-- Second column -->
<LinearLayout . . . >
. . .
</LinearLayout>
</LinearLayout>

如果按钮的内容不正确,您可以将第二级 LinearLayout View 替换为 RelativeLayout 以帮助更好地组织布局。

关于android - 相对布局权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14009230/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com