layerlistxml在android中是如何中断的?

uinbv5nw  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(223)

在官方网站层列表的解释有一个例子,我不能理解。
例如:

<?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:gravity=“center”是与所有容器相关还是与上面的项目相关(“他的兄弟”),即,第二个项目是与容器相关还是与第一个项目相关?

5w9g7ksd

5w9g7ksd1#

我认为,如果你复制这段代码,并尝试探索它,你可以得到的想法。事实上,红色的安卓在中间,但在这张图片中并不清楚,所以如果你把它放在imageview中,它会像这样

我给背景以黄色来表示清楚,所以你可以看到红色的android在中间。
2-android:gravity=“center”用于包含它的项目,请注意,项目将延伸到父级宽度和高度,因此您可以注意到,例如,蓝色android位于其项目的中心,其左上角为(10,10),右下角与父级相同

相关问题