如何定位径向渐变背景

如何在LinearLayout中将放射状渐变形状定位为背景? 这是我目前有:

形状 :

<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:endColor="#e6e6e6" android:gradientRadius="800" android:startColor="#fafaf9" android:type="radial"/> </shape> 

LinearLayout:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/accueil_bg_gradient"> </LinearLayout> 

我只想让我的渐变从屏幕的左上angular开始,到右下angular。

非常感谢 !

您可以使用渐变的“centerX”和“centerY”属性在drawable的不同位置移动放射状渐变的中间部分。 它们是一个浮点值,范围从0到1.0,其中(centerX,centerY的值相应地)0,0是左上angular,1,1是右下angular。

默认值是0.5,0.5,这是可绘制/分配空间的中间。 一个100px长(半径)的黑白渐变例子,其中间从左上angular开始的是:

  <shape android:shape="rectangle"> <gradient android:type="radial" android:startColor="#ffffff" android:endColor="#000000" android:gradientRadius="100" android:angle="270" android:centerX="0" android:centerY="0"/> </shape> 

将其设置为背景mybackground.xml:

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle" android:layout_width="wrap_content"> <stroke android:width="10dp" android:color="@color/darkBlue" /> <solid android:color="#00000000" /> <padding android:left="1dp" android:top="1dp" android:right="1dp" android:bottom="1dp" /> </shape> </item> <item> <shape android:shape="rectangle"> <gradient android:startColor="@color/grayBlue" android:endColor="@color/lightBlue" android:angle="270" android:centerColor="@color/lightBlue" /> <!-- border width and color --> <stroke android:width="1dp" android:color="#FFDDDDDD" /> <padding android:left="10dp" android:top="8dp" android:right="10dp" android:bottom="8dp" /> </shape> </item> </layer-list>