我想创建渐变背景,其中渐变位于上半部分,下半部分是纯色,如下图所示:
我不能,因为 centerColor
展开以覆盖底部和顶部 .
如何制作像第一张图像的背景?如何制作不散布的小 centerColor
?
这是上面背景按钮的XML代码 .
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<gradient
android:startColor="#6586F0"
android:centerColor="#D6D6D6"
android:endColor="#4B6CD6"
android:angle="90"/>
<corners
android:radius="0dp"/>
</shape>
9 回答
您可以使用xml Layer-List将顶部和底部'bands'组合到一个文件中来创建此'half-gradient'外观 . 每个乐队都是xml形状 .
有关详细教程,请参阅此前的答案:Multi-gradient shapes .
试试这个:
视觉示例有助于解决这类问题 .
Boilerplate
要创建渐变,请在res / drawable中创建xml文件 . 我在调用my_gradient_drawable.xml:
您将其设置为某个视图的背景 . 例如:
type =“linear”
将
angle
设置为linear
类型 . 它必须是45度的倍数 .type =“radial”
将
gradientRadius
设置为radial
类型 . 使用%p
表示它是父项最小维度的百分比 .type =“sweep”
我不知道为什么有人会使用扫描,但我要包括它以保持完整性 . 我无法弄清楚如何改变角度,所以我只包括一个图像 .
中心
您还可以更改扫描或径向类型的中心 . 值是宽度和高度的分数 . 您也可以使用
%p
表示法 .以下链接可以帮助你http://angrytools.com/gradient/ . 这将在Android中创建自定义渐变背景,就像在photoshop中一样 .
首先,您需要创建一个gradient.xml,如下所示
然后你需要在布局的背景中提到上面的渐变 . 如下
或者您可以在代码中使用您在PSD中可能想到的任何内容:
请参考这里https://android--code.blogspot.in/2015/01/android-button-gradient-color.html
为什么不创建图像或9补丁图像并使用它?
以下链接有一个很好的指导如何做到这一点:
http://android.amberfog.com/?p=247
如果您坚持使用Shape,请尝试以下网站(在左下角选择Android):http://angrytools.com/gradient/
我创建了一个与此链接相似的渐变(不完全相同):http://angrytools.com/gradient/?0_6586f0,54_4B6CD6,2_D6D6D6&0_100,100_100&l_269
在drawable文件夹中使用此代码