如何在 xml 中重新创建此背景?
How can I recreate this background in xml?
我一直在尝试在 xml 中重新创建背景图像(可绘制)。由于背景是一个简单的形状,如果它被创建为xml drawable 会更好。
是一个非常大的渐变圆圈,在左、上和右边框呈方形。
我试过的
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="rectangle">
<size
android:height="20dp" />
<gradient
android:type="linear"
android:startColor="@color/gradientLeft"
android:centerColor="@color/gradientMiddle"
android:endColor="@color/gradientRight"
android:angle="0" />
</shape>
</item>
<item>
<shape
android:shape="oval">
<padding
android:top="20dp" />
<gradient
android:type="linear"
android:startColor="@color/gradientLeft"
android:centerColor="@color/gradientMiddle"
android:endColor="@color/gradientRight"
android:angle="0" />
</shape>
</item>
</layer-list>
我尝试创建一个 图层列表。此图层列表包含 2 个形状,一个矩形和一个椭圆形。
矩形具有渐变和 20dp 的高度(用于测试)。
椭圆形也有相同的渐变,顶部内边距为 20dp。
但是,这不会创建圆形,而是用渐变填充整个形状。有人可以帮助我吗?
试试这个
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle" />
</item>
<item
android:bottom="300dp"
android:left="-100dp"
android:right="-100dp"
android:top="-80dp">
<shape android:shape="oval">
<size android:height="20dp" />
<gradient
android:angle="0"
android:centerColor="@color/colorAccent"
android:endColor="@color/red"
android:startColor="@color/colorPrimary"
android:type="linear" />
</shape>
</item>
</layer-list>
输出
试试这个
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item>
<shape android:shape="rectangle" >
<solid android:color="#ffffff"/>
</shape>
</item> <item
android:bottom="400dp"
android:left="-200dp"
android:right="-200dp"
android:top="-100dp">
<shape android:shape="oval">
<size android:height="20dp" />
<gradient
android:type="linear"
android:startColor="#FD4F33"
android:centerColor="#EE3A53"
android:endColor="#DF2772"
android:angle="0" />
</shape> </item> </layer-list>
背景会是这样
我一直在尝试在 xml 中重新创建背景图像(可绘制)。由于背景是一个简单的形状,如果它被创建为xml drawable 会更好。
我试过的
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="rectangle">
<size
android:height="20dp" />
<gradient
android:type="linear"
android:startColor="@color/gradientLeft"
android:centerColor="@color/gradientMiddle"
android:endColor="@color/gradientRight"
android:angle="0" />
</shape>
</item>
<item>
<shape
android:shape="oval">
<padding
android:top="20dp" />
<gradient
android:type="linear"
android:startColor="@color/gradientLeft"
android:centerColor="@color/gradientMiddle"
android:endColor="@color/gradientRight"
android:angle="0" />
</shape>
</item>
</layer-list>
我尝试创建一个 图层列表。此图层列表包含 2 个形状,一个矩形和一个椭圆形。
矩形具有渐变和 20dp 的高度(用于测试)。
椭圆形也有相同的渐变,顶部内边距为 20dp。
但是,这不会创建圆形,而是用渐变填充整个形状。有人可以帮助我吗?
试试这个
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle" />
</item>
<item
android:bottom="300dp"
android:left="-100dp"
android:right="-100dp"
android:top="-80dp">
<shape android:shape="oval">
<size android:height="20dp" />
<gradient
android:angle="0"
android:centerColor="@color/colorAccent"
android:endColor="@color/red"
android:startColor="@color/colorPrimary"
android:type="linear" />
</shape>
</item>
</layer-list>
输出
试试这个
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item>
<shape android:shape="rectangle" >
<solid android:color="#ffffff"/>
</shape>
</item> <item
android:bottom="400dp"
android:left="-200dp"
android:right="-200dp"
android:top="-100dp">
<shape android:shape="oval">
<size android:height="20dp" />
<gradient
android:type="linear"
android:startColor="#FD4F33"
android:centerColor="#EE3A53"
android:endColor="#DF2772"
android:angle="0" />
</shape> </item> </layer-list>
背景会是这样