我正在尝试通过一个必须包含各种形状的XML文件来设置背景,我不想让它们重叠(我已经玩过了)但是我希望它们是一个低于另一个。
我已经在一个xml中定义了一个图层列表,现在我希望在该图层下有一个形状。
如何仅使用xml实现这一目标?
谢谢,我一直在寻找周围,但我发现它是关于图层列表的信息而不是这种特殊情况。我确定这里有关于它的帖子,但我似乎无法找到它。提前抱歉。
PD:既然我问,有什么方法可以在形状上实现模糊效果吗?
编辑:另一种提出相同问题的方法:我有一个rectangle.xml和一个circle.xml,如何将一个放在另一个之下,以便在后台使用。
答案 0 :(得分:1)
这里有两个明显的选择:
LinearLayout
。android:top
属性指定适当的值以抵消第二个(以及第3个和第4个等)drawable。1的示例:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/drawable1" />
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/drawable2" />
</LinearLayout>
如果您当前的LayerDrawable
描述某种状态,您可能还需要查看StateListDrawable
或LevelListDrawable
。
2的例子:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/drawable1" />
<item android:drawable="@drawable/drawable1" android:top="50dp" />
</layer-list>
第二个选项需要一些关于第一个项目大小的先验知识。如果使用xml定义drawable,则必须在设计时设置适当的偏移值。