2010-07-18 31 views
38

Ben drawableXML şekli nasıl çizilebilir?

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http//schemas.android.com/apk/res/android" 
     android:shape="rectangle"> 
    <solid android:color="#ffffffff" /> 
    <size android:width="60dp" 
     android:height="40dp" /> 
</shape> 

tanımlanan Ama nasıl layout tanımında kullanmak?

<?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" 
       > 
    <ImageView 
     android:src="@drawable/ic_title" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     /> 
</LinearLayout> 

Sadece siyah arka plan görüyorum.

Düzenlendi: Ben drawablexmlns bildiriminde birini : cevapsız çıktı

. Şimdi bu örnek Gingerbread cihazda :) çalışır

Sınırı ve arka planı tanımlamak için bu xml kodu kullanabilirsiniz çekilebilir olarak
+0

Silly soru, ama 'ic_title' tanımladığınız çekilebilecek bir ad mı? Ayrıca, 'LinearLayout' –

+0

evet 'android: background' ayarlayabilirsiniz, ic_title yukarıda tanımlanabilir ben çizilebilir. Ben android ayarlamak istemiyorum: arka plan, bu istenen bir etki değildir. LinearLayout'a daha fazla ImageView koyabilirim. –

cevap

14

Ben benzer bir sorun vardı ve bulunan Eğer boyut tanımını kaldırmak takdirde, bir sebepten dolayı çalışıyor.

Kaldır: şeklinden

<size 
    android:width="60dp" 
    android:height="40dp" /> 

.

Bu işe yararsa bana bildirin!

+0

Ancak boyut tanımlaması olmayan bir şekil, ImageView'ın arka planını doldurmakla aynı şeydir. –

+0

Doğru. Öyleyse, kendi boyutunuzu ihtiyaç duyduğunuz boyuta ayarlayan bu görüntü görünümünü tutmak için bir kapsayıcıya ihtiyacınız olduğunu varsayalım - bu benim örneğim - yani bir boyutla göreceli bir düzen bildiririm ve sonra sadece resmimi . – sonnyd

+7

Haha! Sorununuzu buldum: D Umarım bana bu ilk kudosumu verirsiniz;) Şekil tanımınızda bir Yazım hatası var. Aşağıdakilere bakın ve http: "http // schemas.android.com/apk/res/android" ifadesinden sonra eksik olan ":" 'a bakın. – sonnyd

20

:

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <stroke android:width="4dp" android:color="#D8FDFB" /> 
    <padding android:left="7dp" android:top="7dp" 
    android:right="7dp" android:bottom="7dp" /> 
    <corners android:radius="4dp" /> 
    <solid android:color="#f0600000"/> 
</shape>