在drawable中添加和定位drawable

时间:2019-03-07 19:22:43

标签: android android-layout

我想制作一个在所有屏幕上都看起来像这样的初始屏幕: how I want resource to look like 我想在两个角落有两个图像。这应该在可绘制对象内部,因为它是初始屏幕的背景可绘制对象。

我可以使用以下代码在API> = 23的android设备上执行此操作:

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

    <item>
        <shape android:shape="rectangle">
            <solid android:color="@android:color/white"/>
        </shape>
    </item>

    <item android:drawable="@mipmap/ic_launcher_round"
          android:gravity="left|bottom"
          android:height="100dp"
          android:width="100dp"
          android:bottom="30dp"/>

    <item android:drawable="@mipmap/ic_launcher_round"
          android:gravity="bottom|right"
          android:height="80dp"
          android:width="80dp"
          android:bottom="43dp"/>

</layer-list>

但是在其他设备上,可绘制对象看起来像这样:

how it appears on API < 23

1 个答案:

答案 0 :(得分:0)

将您的layer-list更改为此:

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

    <item>
        <shape android:shape="rectangle">
            <solid android:color="@android:color/white"/>
        </shape>
    </item>

    <item
        android:height="100dp"
        android:width="100dp"
        android:bottom="30dp">
        <bitmap
            android:gravity="left|bottom"
            android:src="@mipmap/ic_launcher_round" />
    </item>

    <item
        android:height="80dp"
        android:width="80dp"
        android:bottom="43dp">
        <bitmap
            android:gravity="bottom|right"
            android:src="@mipmap/ic_launcher_round" />
    </item>

</layer-list>

还要确保,如果要使用其他图像,请确保将它们放在不同的文件夹中:

  

hdpi ldpi mdpi xhdpi xxhdpi