Android item size in layer-list

后端 未结 4 624
梦谈多话
梦谈多话 2020-12-11 04:13

I need to set size for item in layer-list. For using as windowBackground in launch activity. I wrote this XML file and Android Studio displays it correctly. But in applicati

相关标签:
4条回答
  • 2020-12-11 04:23

    Starting from API 23, it is possible to set width and height right within the "item" tag:

    <item android:drawable="@drawable/logo" android:width="..." android:height="..." />
    
    0 讨论(0)
  • 2020-12-11 04:38

    I found solution, but I expected better way. Here is final code:

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle" >
    
            <gradient
                android:endColor="#000004"
                android:gradientRadius="1000"
                android:startColor="#1f3371"
                android:type="radial" >
            </gradient>
        </shape>
    </item>
    <item>
        <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
            android:src="@drawable/texture_5"
            android:tileMode="repeat" />
    </item>
    <item android:drawable="@drawable/logo"
        android:bottom="214dp"
        android:top="214dp"
        android:left="100dp"
        android:right="100dp"
        android:gravity="center"
        android:tileMode="repeat"
        >
    </item>
    </layer-list>
    

    At least it works at xxhdpi and xhdpi without distortion.

    0 讨论(0)
  • 2020-12-11 04:42

    I had the same problem and found the solution here. I had to use my vector drawable as the source to a bitmap object:

    <item>
        <bitmap
            android:gravity="center"
            android:src="@drawable/ic_logo_splash"/>
    </item>
    
    0 讨论(0)
  • 2020-12-11 04:45

    You can do the followin

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item android:drawable="@color/blanco"/>
        <item
            android:width="200dp"
            android:height="200dp"
            android:gravity="center">
            <bitmap
                android:gravity="fill"
                android:src="@drawable/your_image"
                android:mipMap="true"/>
        </item>
    </layer-list>
    

    Just change width and height

    0 讨论(0)
提交回复
热议问题