我想要的背景颜色RelativeLayout
与下面链接中显示的图像类似.忽略图像下半部分的黑条.
我不想将图像用作布局的背景.你能告诉我如何继续吗?
我正在尝试使用xml渐变代码创建一个按钮.(因为我是新用户无法上传图片:()此图片的边缘有两种颜色和角落.开始渐变的颜色将从所有渐变长度的15%开始,结束颜色以75%结束渐变长度.我使用此代码创建两种颜色的渐变:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="rectangle">
<gradient
android:angle="-45"
android:startColor="#64bcfb"
android:endColor="#2f8fd4"
android:type="linear"/>
<corners android:radius="10dp" />
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
问题是我不知道如何添加渐变的起始百分比和结束百分比.我对此进行了一些搜索,并将其中的一些内容添加到:
两者都有一些解决方案,但我不适合我.解决方案是创建一个有两种颜色的简单栏,但我想创建一个按钮,其边缘也有一些角.我也不能在我的应用程序中使用原始图像,因为我需要务实地更改其颜色.有任何机构对如何在渐变中添加百分比有所了解吗?
我想在Android上使用两种背景颜色制作按钮样式,如下图所示:
http://i.stack.imgur.com/ExKXl.png
是否可以使用可绘制资源?我正在http://developer.android.com/guide/topics/resources/drawable-resource.html上搜索解决方案,但它们都不能有两种颜色.
有办法吗?
[编辑答案]
解决方案是创建一个<layer-list>
带项目,每个项目<item>
都有一个<shape>
.代码如下(整个按钮的高度为32dp,因此我为每种颜色使用了半高):
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Top color -->
<item android:bottom="16dp">
<shape android:shape="rectangle">
<solid android:color="#FF0000" /> <!-- RED -->
</shape>
</item>
<!-- Bottom color -->
<item android:top="16dp">
<shape android:shape="rectangle">
<solid android:color="#00FF00" /> <!-- GREEN -->
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
但我有另一个问题,我试图在每个形状上设置角落.我试图把android:topLeftRadius
与android:topRightRadius
第一形状android:bottomLeftRadius
和android:bottomRightRadius
第二形状,但它didn't告诉我的角落!因此解决方案是使用android:radius
(所有8个角落变得圆润,该死!)并且另外两个项目来克服额外的角落.最后,XML就是这样的:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Top color with corner -->
<item android:bottom="16dp">
<shape android:shape="rectangle"> …
Run Code Online (Sandbox Code Playgroud)