2010-05-03 24 views
16

Ben şu kod:Android Şekli Hattı

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="line"> 
    <stroke android:width="1dp"/> 
    <size android:height="1dp" /> 
    <solid android:color="#FFF"/> 
    </shape> 


    <LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background ="@drawable/line"/> 

iki soru var: satır beyaz yerine siyah Neden

  1. ? Bir ImageView içine koyarak denedim ama sonuç aynı.
  2. Şeklin opaklığını nasıl ayarlayabilirim? çizginin rengini ayarlamak için

cevap

21

1), sen <stroke> üzerinde android:color tanımlamanız gerekir. <solid> öğesi arka plan içindir.

2) Sen, aka #ARGB color values with an alpha layer kullanarak şekil saydamlığını ayarlayabilirsiniz. Senin durumunda belki # 7FFF.

+0

# 07FFFFFF demek istediniz. – Vaiden

+0

@Vaiden Android, 4 basamaklı ARGB'yi destekler. Bu durumda # 77FFFFFF olarak yorumlanacaktır. –

8

Siyah renkte 2 yoğunluklu piksel için en basit örnek. Sadece çekilebilir klasörde xml kaydedin: res/çekilebilir/shape_black_line.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="line"> 
<stroke 
    android:width="1dp" 
    android:color="#000000" /> 
<size android:height="2dp" /> 
</shape> 

Kullanım LinearLayout ve arka plan hattını göstermek için.

<LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="@drawable/divider"> 
</LinearLayout> 

Umarım bu yardımcı olmuştur.

+3

LinearLayout yerine 'kullansaydık daha az bellek tüketmez miydi? –

+0

Evet kullanabilirsin. Everyclass görünümünden extened –