如何为启动屏幕构建复杂的图层列表布局

Aïs*_*a-H 5 java xml android

我实际上正在构建一个应用程序,我必须在其中放置一个启动屏幕。我发现制作一个的最好方法是制作一个layer-list可绘制的(https://plus.google.com/+AndroidDevelopers/posts/Z1Wwainpjhd)。

我的问题是如何使用可layer_list绘制对象来制作我想要的布局,如何定位/定位具有大小、边距、重力等的元素?

我想构建这样的布局结构:

启动画面布局

谢谢你的帮助!

Wav*_*ves 4

虽然您无法准确定位或操作图层列表中的视图元素,但您可以向其中添加多个项目并将它们锚定在可绘制对象上,如图所示。

我现在无法访问我的计算机,但我想它看起来像这样。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:drawable="@color/gray"/>

    <item>
        <bitmap
            android:gravity="left|start"
            android:src="@drawable/logo1"/>
    </item>
    <item>
        <bitmap
            android:gravity="center"
            android:src="@drawable/logo2"/>
    </item>
    <item>
        <bitmap
            android:gravity="center"
            android:src="@drawable/text1"/>
    </item>
    <item>
        <bitmap
            android:gravity="center"
            android:src="@drawable/text2"/>
    </item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)

如果这样的方法不起作用,那么您可以做的是创建一个图像,其中包含您想要在启动屏幕上显示的所有内容(两个徽标和文本),然后仅将那个可绘制对象显示为启动屏幕。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:drawable="@color/gray"/>

    <item>
        <bitmap
            android:gravity="center"
            android:src="@drawable/imageWithEverythingInIt"/>
    </item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)