2013-10-14 12 views
7

मैं इस एक्सएमएल drawable है स्थिति कैसे - tab_background_unselected:एंड्रॉयड एक्सएमएल परत-सूची: ऊपर परत

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

    <item> 
     <shape android:shape="rectangle" > 
      <solid android:color="@color/background_grey" />    
     </shape> 
    </item> 

</layer-list> 

जो इस आकार बनाता है:

background rectangle

और इस तीर आकार एक्सएमएल drawable - tab_selected_arrow:

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

    <item> 
     <rotate 
      android:fromDegrees="45" 
      android:pivotX="-40%" 
      android:pivotY="87%" 
      android:toDegrees="45" > 
      <shape android:shape="rectangle" > 
       <solid android:color="@color/background_dark_green" /> 
      </shape> 
     </rotate> 
    </item> 

</layer-list> 

जो निर्माता तों इस आकार:

top layer triangle

मैं क्रम में इस drawable एक्सएमएल (PNG फ़ाइल के बजाय) का उपयोग कर रहा एक परत-सूची बनाने के लिए:

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

    <item android:drawable="@drawable/tab_background_unselected"> 
    </item> 
    <item android:drawable="@drawable/tab_selected_arrow"> 
    </item> 

</layer-list> 

लेकिन मैं अंतिम छवि चाहते हैं देखने के लिए इस तरह:

final image

मैं प्रतिशत करने के लिए तीर की गंभीरता (दूसरे मद और ऊपर परत) स्थापित करने के लिए पता नहीं कैसे er | bottom ... मैंने bitmap टैग का उपयोग करने का प्रयास किया है, लेकिन यह केवल छवि फ़ाइलों को स्वीकार करता है।

मैं इस की जरूरत है क्योंकि

  1. मैं इसे जरूरत है एक drawable चयनकर्ता के अंदर होने की
  2. मैं इसे एक PNG बनाने के लिए और प्रत्येक स्क्रीन संकल्प
  3. के लिए अलग फ़ाइल बनाने के लिए नहीं करना चाहती एक एक्सएमएल drawable होने के लिए

उत्तर

9

उपयोग एक आंतरिक Bitmapitem अंदर drawable, और इसके लिए gravity सेट:

<item android:drawable="@drawable/tab_background_unselected"> 
</item> 
<item> 
    <bitmap 
     android:gravity="bottom|center_horizontal" 
     android:src="@drawable/tab_selected_arrow" /> 
</item> 
+2

असफ़ ने कहा कि उन्होंने बिटमैप ड्रॉबल्स के साथ प्रयास किया है, और वह सही है: वे एक्सएमएल ड्रॉबल्स की अनुमति नहीं देते हैं (मैंने अभी प्रश्न को सही किया है और अब "मैंने कोशिश की कोशिश की है ..." में "बिटमैप" टैग दिखाई देता है) –

+0

AFAIK कोई रास्ता नहीं, एपीआई 21-22 में एक बग है, यहां बिटमैप तत्व में कोई वेक्टर नहीं है :( – djdance

+0

अधिक हाइलाइट किया जाना चाहिए: यह उत्तर केवल तभी काम करता है जब "tab_selected_arrow" एक .png !!! – superuser

संबंधित मुद्दे