当我有1,2或3个组件时,我知道如何正确地将它们放到空间。但是现在我有一个视图,其中包含4个,5个......组件。而不是增加组件的大小(通过重量),我需要它们保持固定的大小。那么......有没有办法用合理的间距(在视图内均匀间隔)来铺设这些间隔?
谢谢,
Ĵ
答案 0 :(得分:2)
我已经想到的类似工作是添加间隔视图组件。同样,这并不理想,但它确实有效。如果有什么更好的,请告诉我。
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<biz.mycompany.mycomponent
android:layout_width="@dimen/screen_view_w"
android:layout_height="@dimen/screen_view_h"
/>
<View
android:layout_width="0px"
android:layout_height="@dimen/main_screen_button_h"
android:layout_weight="1"
/>
<biz.mycompany.mycomponent2
android:layout_width="@dimen/screen_view_w"
android:layout_height="@dimen/screen_view_h"
/>
<View
android:layout_width="0px"
android:layout_height="@dimen/screen_view_h"
android:layout_weight="1"
/>
<biz.mycompany.mycomponent3
android:layout_width="@dimen/screen_view_w"
android:layout_height="@dimen/screen_view_h"
/>
</LinearLayout>
答案 1 :(得分:1)
以下内容可行,但不一定是最有效的方法。您想要插入什么类型的组件?基本上,我创建了一个水平LinearLayout,其子LinearLayouts具有均匀权重。我将这些内部LinearLayouts的重力设置为将其子项置于中心位置,这样您的固定宽度视图就会以适当的大小进入,并均匀地居中。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
>
<View
android:id="@+id/fixed_view_1"
android:layout_width="30dp"
android:layout_height="50dp"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
>
<View
android:id="@+id/fixed_view_2"
android:layout_width="30dp"
android:layout_height="50dp"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
>
<View
android:id="@+id/fixed_view_3"
android:layout_width="30dp"
android:layout_height="50dp"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
>
<View
android:id="@+id/fixed_view_4"
android:layout_width="30dp"
android:layout_height="50dp"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
>
<View
android:id="@+id/fixed_view_5"
android:layout_width="30dp"
android:layout_height="50dp"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
>
<View
android:id="@+id/fixed_view_6"
android:layout_width="30dp"
android:layout_height="50dp"
/>
</LinearLayout>