我正在尝试通过必须包含各种形状的 XML 文件设置背景,我不希望它们重叠(我已经玩过了),但我希望它们彼此重叠。
我已经在一个 xml 中定义了一个图层列表,现在我想在那个图层下有一个形状。
我如何仅使用 xml 来完成此操作?
谢谢,我一直在四处寻找,但我发现的只是有关图层列表的信息,而不是这种特殊情况。我确定这里有关于它的帖子,但我似乎找不到它。提前抱歉。
PD:既然我在问,有什么方法可以在形状上实现模糊效果吗?
编辑:提出相同问题的另一种方式:我有一个 rectangle.xml 和一个 circle.xml,如何将一个放在另一个下面以便在背景中使用。
最佳答案
这里有两个明显的选择:
- 将图层拆分为单独的可绘制对象,并将它们分配给不同的 View ,例如垂直方向
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 定义可绘制对象,则必须在设计时设置适当的偏移值。
关于android - 各种 XML 形状作为一个可绘制对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20274901/