RelativeLayout的重量 [英] RelativeLayout weight
问题描述
我有3 RelativeLayout的这是main_RelativeLayout内。该视图将垂直。所以,我有3个RelativeLayout的相邻而设置好的,我希望他们能够充满整个屏幕,不管从什么将是屏幕尺寸。我,布局视图:
I do have 3 RelativeLayout which is inside the main_RelativeLayout. The view will be vertically. So, I have 3 RelativeLayout which setted next to each other, and I want them to fill the whole screen, doesnt matter what will be the screen size. My, layout 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>
我设置重= 1
和 layout_width = 0dp
每个releativeLayout这种技术适用于按钮,我想同样将与RelativeLayout的,看来我的想法是错误的。你知道吗?
I set weight=1
and layout_width=0dp
for each releativeLayout and this technique works with buttons, I thought the same will be with relativeLayout, seems my thoughts were wrong. Any idea?
UPD1:我添加了什么,我想有一个形象
UPD1: I have added an image of what i would like to have
推荐答案
RelativeLayout的
不注重的android:layout_weight
。 (这就是<一个属性href="http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html"><$c$c>LinearLayout.LayoutParams$c$c>,不是,而是<一个href="http://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams.html"><$c$c>RelativeLayout.LayoutParams$c$c>.)
RelativeLayout
does not pay attention to android:layout_weight
. (That's a property of LinearLayout.LayoutParams
, but not of RelativeLayout.LayoutParams
.)
您应该能够得到你想要一个更简单的视图层次布局。目前尚不清楚你想要做什么,因为过去两年 RelativeLayout的
是空的。如果你需要一个纯粹的纵向组织,我建议使用的LinearLayout
而不是 RelativeLayout的
。
You should be able to get the layout you want with a much simpler view hierarchy. It's not clear what you are trying to do, since the last two RelativeLayout
s are empty. If you need a purely vertical organization, I'd suggest using LinearLayout
instead of RelativeLayout
.
修改根据您的编辑,它看起来像你想的三复合的观点,每一个可点击的水平布局。我认为像下面的工作:
EDIT Based on your edit, it looks like you want a horizontal layout of three compound views, each one clickable. I think something like the following will work:
<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>
如果按钮的内容是不正确的,可以更换第二级与 RelativeLayout的
的LinearLayout 意见>有没有什么帮助组织布局较好。
If the contents of the buttons aren't correct, you can replace the second-level LinearLayout
views with RelativeLayout
if that helps organize the layout better.
这篇关于RelativeLayout的重量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!