我需要在Android中像Spider Solitaire一样在Android中创建一堆重叠的ImageViews
。此外,我需要能够动态添加更多ImageViews
。请提出建议的方法。我可以使用LinearLayout
(没有必要。无论什么工作都可以)?如果是这样,我该如何完成重叠?
注意:所有ImageViews
都会有相同的重叠量,因此无需担心屏幕截图中未打开的卡片。
谢谢
答案 0 :(得分:0)
A LayerDrawable is a drawable object that manages an array of other drawables.
Each drawable in the list is drawn in the order of the list—the last drawable in the list is drawn on top.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:src="@drawable/android_red"
android:gravity="center" />
</item>
<item android:top="10dp" >
<bitmap android:src="@drawable/android_green"
android:gravity="center" />
</item>
<item android:top="20dp" >
<bitmap android:src="@drawable/android_blue"
android:gravity="center" />
</item>
</layer-list>
注意:以下图片使用项目属性为android:left =&#34; 10dp&#34;,android:left =&#34; 20dp&#34;。
答案 1 :(得分:0)
您可以使用FrameLayout
。以下布局是3 ImageViews
:
<FrameLayout 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" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="200dp"
android:layout_height="300dp"
android:background="#f00" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="200dp"
android:layout_height="300dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="20dp"
android:background="#0f0" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="200dp"
android:layout_height="300dp"
android:layout_marginLeft="40dp"
android:layout_marginTop="40dp"
android:background="#00f" />
</FrameLayout>
答案 2 :(得分:0)
我认为您不能仅使用Linearlayout
来实现此目的。
但您可以使用LayerList
LayerDrawable
是一个可绘制对象,用于管理其他数组 可绘制。列表中的每个drawable都按照顺序绘制 list - 列表中的最后一个drawable被绘制在顶部。
借助LayerList,您可以实现以下目标:
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@[package:]drawable/drawable_resource"
android:id="@[+][package:]id/resource_name"
android:top="dimension"
android:right="dimension"
android:bottom="dimension"
android:left="dimension" />
</layer-list>