pix*_*xel 5 android gradient shape drawable
W想要drawable在左边有一个背景和渐变的10dp宽度.
我想要实现的形象:

我怎么能做到这一点?
我试过layer-list两种形状,但没有运气.
物品背景:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/background" />
<item android:drawable="@drawable/gradient" />
</layer-list>
Run Code Online (Sandbox Code Playgroud)
背景可绘制:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="@color/black" />
</shape>
Run Code Online (Sandbox Code Playgroud)
形状可绘制:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#FFFF0000" android:endColor="#80FF00FF"
android:angle="90"/>
<size android:width="10dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
在drawable文件夹中创建sidecolor(或任何您想要的名称)XML如下:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/background" android:bottom="5dp"
android:top="5dp" android:left="5dp" android:right="5dp"/>
<item android:drawable="@drawable/red" android:bottom="5dp" android:top="5dp"
android:left="5dp" android:right="280dp" />
</layer-list>
Run Code Online (Sandbox Code Playgroud)
然后创建背景XML:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/black" />
</shape>
Run Code Online (Sandbox Code Playgroud)
然后红色XML作为形状:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#B22222" />
</shape>
Run Code Online (Sandbox Code Playgroud)
输出图像:

您还可以将红色XML创建为渐变:
<?xml version="1.0" encoding="utf-8" ?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#B22222" android:centerColor="#FFFFFF"
android:endColor="#B22222" android:angle="0" />
</shape>
Run Code Online (Sandbox Code Playgroud)
输出图像:

更新:
你也可以这样做,将它对齐左边也可以根据需要控制它的大小,
首先创建一个XML并将其称为color.xml,并通过以下方式引用视图:
android:background="@drawable/sidecolor"
Run Code Online (Sandbox Code Playgroud)
sidecolor.xml:
<?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="#FF0000" />
</shape>
</item>
<item android:left="10dp">
<shape android:shape="rectangle">
<solid android:color="#000000" />
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
输出图像:

希望能帮助你.
| 归档时间: |
|
| 查看次数: |
17195 次 |
| 最近记录: |