2012-05-27 17 views
7

Ben LinearLayout arka plan olarak çekilebilir kümesi aşağıdaki var:Android radyal degrade

<?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 göre, gradientRadius pencere/üst boyutunun yüzdesi olarak ayarlanabilir. Talihsizce ... işe yaramıyor. Yarıçap 0'dır. Ne yapıyorum yanlış? Ya da Android'de neyin var?

Tüm ekranı doldurmak için radyal gradyana ihtiyacım var. Geçici çözüm nedir?

<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"> 

umut bu yardım:

+0

Yerleşime ve ekranın tamamını görüntüleyen metne bakın, ihtiyacınız olan şeyi anlamış olabilir miyim –

+0

Hiçbir zaman tamsayı olmayan bir değer elde edemedim gardientRadius olarak. Bulduğum tüm örnekler pikselde, hatta dipte değil. Bir geçici çözüm olarak, kod içinde çizilebilir oluşturabilir ve görünümü ölçtükten sonra yarıçapı ayarlayabilirsiniz. – yoah

cevap

5

i size

çekilebilir

("match_parent") tarafından referded düzeni, aşağıda

yapmak zorunda gerekenler de anlarsınız.

+0

benim için çalışmıyor. her zaman 1px taban genişliğini alır. % 500 [p] bana 5px yarıçap veriyor – deej

12

Biraz geç, ancak belgelere göre "% 50 p" değil "% 50" ayarlamalısınız. ('Üst' anlamına gelen 'p' notu)