Aşağıdaki resimde olduğu gibi, degradenin üst yarıda olduğu ve alt yarıda düz bir rengin bulunduğu degrade arka plan oluşturmak istiyorum:
Yapamıyorum çünkü `centerColor' alt ve üst kısmı kaplayacak şekilde yayılıyor.
İlk resimdeki gibi bir arka planı nasıl yapabilirim? Nasıl dağılmayan küçük bir centerColor
yapabilirim?
Bu, yukarıdaki arka plan düğmesinin XML'indeki koddur.
<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>
Bu 'yarı degrade' görünümü, üst ve alt 'bantları' tek bir dosyada birleştirmek için bir xml Layer-List kullanarak oluşturabilirsiniz. Her bir bant bir xml şeklidir.
Ayrıntılı bir eğitim için SO ile ilgili bu önceki cevaba bakın: Çoklu degrade şekiller.
Öncelikle aşağıdaki gibi bir gradient.xml oluşturmanız gerekir
<shape>
<gradient android:angle="270" android:endColor="#181818" android:startColor="#616161" />
<stroke android:width="1dp" android:color="#343434" />
</shape>
Ardından, düzenin arka planında yukarıdaki gradyandan aşağıdaki gibi bahsetmeniz gerekir
<?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/gradient"
>
</LinearLayout>
Neden bir resim veya 9 Yama resmi oluşturup bunu kullanmıyorsunuz?
Aşağıdaki bağlantıda nasıl yapılacağına dair güzel bir rehber var:
http://android.amberfog.com/?p=247
Bir Shape kullanmakta ısrar ediyorsanız, aşağıdaki siteyi deneyin (Sol alttan Android'i seçin): http://angrytools.com/gradient/
Bu bağlantıdakine benzer bir gradyan oluşturdum (tam olarak değil): http://angrytools.com/gradient/?0_6586f0,54_4B6CD6,2_D6D6D6&0_100,100_100&l_269