【发布时间】:2013-09-16 17:49:58
【问题描述】:
我正在尝试创建我的第一个真正的 Android 应用,代码看起来很简单,但布局给我带来了问题。
我的应用程序将是一个拖放应用程序,非常简单,只需将形状拖到“拼图”中的正确位置即可。以下是它现在的外观示例:
我目前拥有的是 4 个ImageViews,一个用于顶部的“空拼图”,然后是 1 个用于下面的每个形状。我认为正确的做法是让拼图中的每个空白点都成为ImageView(例如,箭头所指的应该是ImageView)
如果我对此正确,我需要“分层”ImageViews,在顶部的“拼图”图像视图上放置 3 个“空形状”图像视图。问题是我在网上的任何地方都找不到任何示例或建议。所以我的问题是:
- 将 3 个
ImageViews 放在“背景”ImageView上是否有意义,或者有更正确的方法吗? - 如果我朝着正确的方向前进,有人可以解释/举例说明如何构建
ImageView层吗?
我当前屏幕的 XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/emptyPuz"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/EmptyPuzzle" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizantal" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:adjustViewBounds="false"
android:src="@drawable/Circle" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:adjustViewBounds="false"
android:src="@drawable/Square" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:adjustViewBounds="false"
android:src="@drawable/Triangle" />
</LinearLayout>
</LinearLayout>
【问题讨论】:
-
您打算使用SDK拖放系统还是要自己实现?如果是,则为每个空图像使用 3
ImageViews。如果您要使用自己的拖动系统,那么我会制作一个自定义视图来保存空形状。 -
@Luksprog - 我计划使用在 SDK11 中实现的内置拖放功能。因为它,我正计划使用 3 个
ImageViews,但我没有得到的是我如何将那个棕色的“拼图”图像放在我将添加的 3 个“空白”图像视图后面。那是第四个ImageView?如果是这样,我如何将一个ImageView放在另一个之上? -
我将简单地构建一个
LinearLayout(或其他布局)来保存三个空的ImageViews,设置为该LinearLayout的背景棕色区域,然后将空形状设置为三个ImageViews到背景颜色(我假设您想对空白区域进行透视效果)。为了更容易构建形状,您可以制作自定义视图来直接绘制它们,而不是使用 ImageViews。 -
@Luksprog - 感谢您的建议,我只是查看了背景,这可能对我有用,我会试一试。我还没有在构建形状或使用“自定义”视图方面做过任何事情。
标签: android xml android-layout drag-and-drop android-imageview