【发布时间】:2015-02-10 00:15:46
【问题描述】:
我有一个线性布局,最初设置为以 3x3 格式显示 9 个图像。我正在使用 android:layout_gravity="right|top" 等...来正确定位我的图像(如下面的 XML 所示)。
我需要添加另一行,即跨 3 张图像,向下 4 张图像。新的“奖励”行给我带来了一个问题,我看不到如何正确定位图像。在当前设置下,它们与第三行重叠。
所以,问题是,我怎样才能正确地使用线性布局来定位 3 跨和 4 向下的图像网格。我原以为不需要使用 gridview 就可以了。
我的 XML 布局代码如下。
一如既往,非常感谢任何帮助!
<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"
tools:context=".MainActivity$PlaceholderFragmentMain">
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:id="@+id/containerMainX"
android:layout_width="match_parent" android:layout_height="match_parent"
tools:context=".MainActivity" tools:ignore="MergeRootFrame"
android:fitsSystemWindows="true"
android:weightSum="5"
android:layout_above="@+id/adViewMain">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:layout_gravity="center"
android:weightSum="3" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/imageViewTopLeft"
android:padding="6dip"
android:layout_gravity="left|top" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/imageViewTopCenter"
android:padding="6dip"
android:layout_gravity="center|top" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/imageViewTopRight"
android:padding="6dip"
android:layout_gravity="right|top" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:layout_weight="1"
android:weightSum="3" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/imageViewCenterLeft"
android:padding="6dip"
android:layout_gravity="left|center" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/imageViewCenterCenter"
android:padding="6dip"
android:layout_gravity="center|center" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/imageViewCenterRight"
android:padding="6dip"
android:layout_gravity="right|center" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:layout_weight="1"
android:weightSum="3" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/imageViewBottomLeft"
android:padding="6dip"
android:layout_gravity="left|bottom" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/imageViewBottomCenter"
android:padding="6dip"
android:layout_gravity="center|bottom" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/imageViewBottomRight"
android:padding="6dip"
android:layout_gravity="right|bottom" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:layout_weight="1"
android:weightSum="3" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/imageViewBonusLeft"
android:padding="6dip"
android:layout_gravity="left|bottom" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/imageViewBonusCenter"
android:padding="6dip"
android:layout_gravity="center|bottom" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/imageViewBonusRight"
android:padding="6dip"
android:layout_gravity="right|bottom" />
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/imageViewGameBackButton"
android:padding="6dip"
android:layout_gravity="left|bottom" />
</FrameLayout>
</RelativeLayout>
【问题讨论】:
标签: android-layout imageview position android-linearlayout gravity