2014-07-12 12 views
8

aynı xml bitmap: 2 devletlerle bir görüntü olmasıSeçici, Katman-listesi ve şekil/I <code>drawable</code> klasörün içinde bir xml bu kodu var

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:state_pressed="true"> 
     <layer-list> 
      <item> 
       <shape android:shape="rectangle"> 
        <size android:width="90dp" android:height="90dp" /> 

       <solid android:color="#9933CC" /> 
       </shape> 
      </item> 
      <item> 
       <bitmap android:gravity="center" android:src="@drawable/main_achievements_synthesis" /> 
      </item> 
     </layer-list> 
    </item> 
    <item> 
     <layer-list> 
      <item> 
       <shape android:shape="rectangle"> 
        <size android:width="90dp" android:height="90dp" /> 

        <solid android:color="#AA66CC" /> 
       </shape> 
      </item> 
      <item> 
       <bitmap android:gravity="center" android:src="@drawable/main_achievements_synthesis" /> 
      </item> 
     </layer-list> 
    </item> 

</selector> 

Bunu kullanmak (a olarak kullanmak buton). Her şey emülatör ve cihazlarda beklendiği gibi çalışır.

Farklı çekilebilir xml oluşturabildiğimi ve aynı sonucu elde etmek için referans yapabileceğimi biliyorum.

Sadece Android Studio'ya geçtim ve bana şu mesatayı gösteriyor: Element XXX is not allowed here. Katman listesi ve içindeki tüm etiketler hakkında beni uyarıyor. Ancak, dediğim gibi, bu kod gayet iyi çalışıyor.

Kodumu ayrılmış XML'lere (yalnızca bir kez kullanacağımı bildiğimden) mi yoksa Android Studio'nun Müfettiş Kodunda bir "hata" mı olduğunu mı değiştirmeliyim?

NOT: Kodumun en iyi duruma getirilebileceğini düşünüyorum, ancak henüz nasıl olduğunu anlamadım.

cevap

15

Bu, Android Studio'nun aydınlatma aracında bir hatadır. Lütfen https://code.google.com/p/android/issues/list adresinden bir hata yapın.

Ayrıca, kullanarak biraz optimize edebilirsiniz: Ben yeni bir sorun yaratmadı

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <selector> 
      <item android:state_pressed="true"> 
       <shape android:shape="rectangle"> 
        <size android:width="90dp" android:height="90dp" /> 
        <solid android:color="#9933CC" /> 
       </shape> 
      </item> 
      <item> 
       <shape android:shape="rectangle"> 
        <size android:width="90dp" android:height="90dp" /> 
        <solid android:color="#AA66CC" /> 
       </shape> 
      </item> 
     </selector> 
    </item> 
    <item> 
     <bitmap 
      android:gravity="center" 
      android:src="@drawable/main_achievements_synthesis" /> 
    </item> 
</layer-list> 
+0

. Benzer bir açıklama içeren bir tane buldum galiba https://code.google.com/p/android/issues/detail?id=73194 – gian1200

İlgili konular