几个图像的线性布局,无法获得fill_parent / wrap_content权限

时间:2011-07-10 11:35:12

标签: android android-layout

我有一个9x2 PNG的网格,我想在我的小部件中分发

经过一些提示我决定去(稍微清理一下代码)

<linearLayout
  android:orientation="vertical">
  <linearLayout
    android:orientation="horizontal">
      <ImageView />
      <ImageView />
      <ImageView />
      <ImageView />
      <ImageView />
      <ImageView />
      <ImageView />
      <ImageView />
      <ImageView />
  </linearLayout>
  <linearLayout
    android:orientation="horizontal">
      <ImageView />
      <ImageView />
      <ImageView />
      <ImageView />
      <ImageView />
      <ImageView />
      <ImageView />
      <ImageView />
      <ImageView />
  </linearLayout>
</linearLayout>

百万美元的问题是如何放置元素的宽度/高度。我希望该对象填充小部件的整个宽度,因此在顶层上width =“fill_parent”。但除此之外,我还希望图像能够很好地扩展。我似乎无法工作,并想知道我是否错过了fill_parent / wrap_content的概念。

我尝试使用权重参数进行实验,但由于图像大小不同,这只是没有用。

如何定义上述元素的宽度/高度以使这个9x2网格填充宽度并占用高度所需空间的任何帮助都将非常感激!

由于 约翰

1 个答案:

答案 0 :(得分:1)

你必须使用布局参数android:layout_weight。如果所有图像视图都具有layout_weight = 1,则空间将平均分配:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/contentContainer"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFFFFF">

  <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"  android:background="#0000aa">
      <ImageView android:layout_weight="1" android:src="@drawable/icon" android:scaleType="fitXY" android:layout_width="wrap_content" android:layout_height="fill_parent"  android:background="#ff0000"/>
      <ImageView android:layout_weight="1" android:src="@drawable/icon" android:scaleType="fitXY" android:layout_width="wrap_content" android:layout_height="fill_parent" />
      <ImageView android:layout_weight="1" android:src="@drawable/icon" android:scaleType="fitXY" android:layout_width="wrap_content" android:layout_height="fill_parent"  android:background="#ff0000"/>
      <ImageView android:layout_weight="1" android:src="@drawable/icon" android:scaleType="fitXY" android:layout_width="wrap_content" android:layout_height="fill_parent" />
      <ImageView android:layout_weight="1" android:src="@drawable/icon" android:scaleType="fitXY" android:layout_width="wrap_content" android:layout_height="fill_parent"  android:background="#ff0000"/>
  </LinearLayout>
  <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"  android:background="#00aaaa">
      <ImageView android:layout_weight="1" android:src="@drawable/icon" android:scaleType="fitXY" android:layout_width="wrap_content" android:layout_height="fill_parent"  android:background="#ff0000"/>
      <ImageView android:layout_weight="1" android:src="@drawable/icon" android:scaleType="fitXY" android:layout_width="wrap_content" android:layout_height="fill_parent" />
      <ImageView android:layout_weight="1" android:src="@drawable/icon" android:scaleType="fitXY" android:layout_width="wrap_content" android:layout_height="fill_parent"  android:background="#ff0000"/>
      <ImageView android:layout_weight="1" android:src="@drawable/icon" android:scaleType="fitXY" android:layout_width="wrap_content" android:layout_height="fill_parent" />
      <ImageView android:layout_weight="1" android:src="@drawable/icon" android:scaleType="fitXY" android:layout_width="wrap_content" android:layout_height="fill_parent"  android:background="#ff0000"/>
  </LinearLayout>
</LinearLayout>