LayerList xml 如何在 android 中中断?
How does LayerList xml interrupted in android?
官网Layer List explanation有个例子看不懂
例子:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap
android:gravity="center"
android:src="@drawable/android_red" />
</item>
<item
android:left="10dp"
android:top="10dp">
<bitmap
android:gravity="center"
android:src="@drawable/android_green" />
</item>
<item
android:left="20dp"
android:top="20dp">
<bitmap
android:gravity="center"
android:src="@drawable/android_blue" />
</item>
</layer-list>
输出:
我不明白两件事:
为什么 红色 android 不在中间。他是唯一一个没有 top 或 left 偏移量的人。可能我不明白top和left offset的意思,offset是从哪一点计算的?
是否 android: gravity="center" 与所有容器相关或与上述项目相关(“他的兄弟姐妹”) ,即第二项是与容器有关还是与第一项有关?
我认为如果您复制这段代码并尝试探索它,您就会明白其中的道理。
事实上,红色 android 在中间,但在这张图片中并不清楚,所以如果你把它放在 imageView 中,它会看起来像这样
为了清晰起见,我给了背景黄色,所以你可以看到红色 android 在中间。
2- android:gravity="center" 适用于包含它的项目,请注意该项目将拉伸到父宽度和高度,因此您可以注意到例如蓝色 android 位于其项目的中心,其左上角为 (10,10),其右下角与父项目相同
官网Layer List explanation有个例子看不懂
例子:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap
android:gravity="center"
android:src="@drawable/android_red" />
</item>
<item
android:left="10dp"
android:top="10dp">
<bitmap
android:gravity="center"
android:src="@drawable/android_green" />
</item>
<item
android:left="20dp"
android:top="20dp">
<bitmap
android:gravity="center"
android:src="@drawable/android_blue" />
</item>
</layer-list>
输出:
我不明白两件事:
为什么 红色 android 不在中间。他是唯一一个没有 top 或 left 偏移量的人。可能我不明白top和left offset的意思,offset是从哪一点计算的?
是否 android: gravity="center" 与所有容器相关或与上述项目相关(“他的兄弟姐妹”) ,即第二项是与容器有关还是与第一项有关?
我认为如果您复制这段代码并尝试探索它,您就会明白其中的道理。
事实上,红色 android 在中间,但在这张图片中并不清楚,所以如果你把它放在 imageView 中,它会看起来像这样
为了清晰起见,我给了背景黄色,所以你可以看到红色 android 在中间。
2- android:gravity="center" 适用于包含它的项目,请注意该项目将拉伸到父宽度和高度,因此您可以注意到例如蓝色 android 位于其项目的中心,其左上角为 (10,10),其右下角与父项目相同