2012-05-27 122 views
7

我有以下可繪製集爲背景的LinearLayout:Android的徑向漸變

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <bitmap 
     android:tileMode="repeat" 
     android:dither="true" 
     android:src="@drawable/bg"/> 
    </item> 


    <item> 
     <shape android:shape="rectangle"> 
     <gradient 
      android:startColor="#ffff0000" 
      android:endColor="#ff00ff00" 
      android:centerX="50%" 
      android:centerY="50%" 
      android:gradientRadius="50%" 
      android:type="radial"/> 
     </shape> 
    </item> 
</layer-list> 

按照docs,gradientRadius可以設置爲窗口/父尺寸的百分比。不幸...它不工作。半徑爲0.我做錯了什麼?或者Android有什麼問題?

我需要徑向漸變填充整個屏幕。什麼是解決方法?

+0

我把它稱爲佈局,也textview填充整個屏幕,我可能想念你明白你需要什麼 –

+0

我從來沒有能夠得到一個非整數值作爲gardientRadius。我發現的所有例子都是以像素爲單位的,甚至沒有下降。 作爲解決方法,您可以在代碼中創建繪圖,並在測量視圖後設置半徑。 – yoah

回答

5

如果我沒有理解好你需要什麼,你必須做出佈局,referded通過繪製

( 「match_parent」),

如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:background="@drawable/"your drawable xml name"> 

希望這有助於。

+0

不適合我。它總是需要1px的基本寬度。所以500%[p]給了我5px的半徑 – deej

12

稍遲,但根據文檔,您必須設置「50%p」,而不是「50%」。 (注意'p'表示'父')