我想创建一个渐变背景,渐变在上半部分,在下半部分有一个纯色,如下图所示:
我不能,因为中心色展开覆盖底部和顶部。
我如何制作一个像第一张图片一样的背景?我怎么做一个小的中心色,不展开?
这是上面后台按钮的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>
可视化的例子有助于解决这类问题。
样板
为了创建一个渐变,你在res/drawable中创建一个xml文件。我调用我的my_gradient_drawable.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:type="linear"
android:angle="0"
android:startColor="#f6ee19"
android:endColor="#115ede" />
</shape>
你把它设置为某个视图的背景。例如:
<View
android:layout_width="200dp"
android:layout_height="100dp"
android:background="@drawable/my_gradient_drawable"/>
类型=“线性”
设置线性类型的角度。它一定是45度的倍数。
<gradient
android:type="linear"
android:angle="0"
android:startColor="#f6ee19"
android:endColor="#115ede" />
类型=“放射状”
为径向类型设置gradienttradius。使用%p意味着它是父节点最小维度的百分比。
<gradient
android:type="radial"
android:gradientRadius="10%p"
android:startColor="#f6ee19"
android:endColor="#115ede" />
类型=“扫描”
我不知道为什么有人会使用扫描,但我包括它的完整性。我不知道如何改变角度,所以我只包括一张图像。
<gradient
android:type="sweep"
android:startColor="#f6ee19"
android:endColor="#115ede" />
中心
还可以更改扫描类型的中心或径向类型。这些值是宽度和高度的分数。您也可以使用%p符号。
android:centerX="0.2"
android:centerY="0.7"
可视化的例子有助于解决这类问题。
样板
为了创建一个渐变,你在res/drawable中创建一个xml文件。我调用我的my_gradient_drawable.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:type="linear"
android:angle="0"
android:startColor="#f6ee19"
android:endColor="#115ede" />
</shape>
你把它设置为某个视图的背景。例如:
<View
android:layout_width="200dp"
android:layout_height="100dp"
android:background="@drawable/my_gradient_drawable"/>
类型=“线性”
设置线性类型的角度。它一定是45度的倍数。
<gradient
android:type="linear"
android:angle="0"
android:startColor="#f6ee19"
android:endColor="#115ede" />
类型=“放射状”
为径向类型设置gradienttradius。使用%p意味着它是父节点最小维度的百分比。
<gradient
android:type="radial"
android:gradientRadius="10%p"
android:startColor="#f6ee19"
android:endColor="#115ede" />
类型=“扫描”
我不知道为什么有人会使用扫描,但我包括它的完整性。我不知道如何改变角度,所以我只包括一张图像。
<gradient
android:type="sweep"
android:startColor="#f6ee19"
android:endColor="#115ede" />
中心
还可以更改扫描类型的中心或径向类型。这些值是宽度和高度的分数。您也可以使用%p符号。
android:centerX="0.2"
android:centerY="0.7"