2011-07-11 15 views
14

XML ile bu tür çizilebilir degradeyi nasıl yapabilirim?XML ile çift degrade oluşturma (iphone gibi)

Double gradient image

ben renk B'ye renk A'dan basit gradyan yapabilir ama aynı çekilebilir iki geçişlerini birleştirmek nasıl bilmiyorum.

+1

olası yinelenen [Çoklu gradyan şekiller] (http://stackoverflow.com/questions/4381033/multi-gradient-shapes) Cevabınız için o – grunk

+0

Yapıldı, teşekkürler centerColor çözüm olarak görünmüyor. Soruma tekrar baktığımda, bazı bilgileri ekledim – grunk

cevap

12

Sonunda benim için yeterince iyi bir katman-listesini içeren bir çözüm buldu: konteyner bir 40sp yüksekliğe sahiptir çünkü orta 20 sp olarak ayarlanır

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!-- First part is a gradient --> 
    <item android:left="0dp" android:right="0dp"> 
     <shape android:shape="rectangle"> 

      <gradient android:angle="-90" android:startColor="#9dcbf6" 
       android:endColor="#177ee6" /> 

     </shape> 
    </item> 
    <!-- Second part is plain color. Slightly transparent --> 
    <item android:top="1sp" android:bottom="20sp" > 
     <shape android:shape="rectangle"> 
      <solid android:color="#10ffffff"/> 
     </shape> 

    </item> 
</layer-list> 

, ancak iradesine ayarlayabilirsiniz düzenleme ile: android:bottom="20sp"

11

Degradede üç renk kullanabilirsiniz. Bir başlangıç ​​rengi, bitiş rengi ve bir merkez rengi.

<gradient 
     android:angle="integer" 
     android:centerX="integer" 
     android:centerY="integer" 
     android:centerColor="integer" 
     android:endColor="color" 
     android:gradientRadius="integer" 
     android:startColor="color" 
     android:type=["linear" | "radial" | "sweep"] 
     android:usesLevel=["true" | "false"] /> 

Alternatif olarak, LayerList Drawable'ı kullanabilir ve bunları birleştirebilirsiniz.

+0

teşekkürler düşündüren ancak kullanmak için – grunk

+0

Sonra ikinci yarısına kadar cevap vermelisin ve iki gradyan oluştur ve bir LayerList kullan. – CaseyB

+0

Bir şekli kolayca bir yüksekliğin% 50'sine ayarlamak mümkün görünmüyor. muhtemelen gerilebilir bir görüntü kullanacağım. Zaman ayırdığın için teşekkürler. Haklısınız @grunk – grunk