5

मेरे पास एक ट्रांज़िशन ड्रायबल है। दोनों राज्य नौ पैच हैं और एक सामग्री क्षेत्र परिभाषित किया गया है। समस्या यह है कि मार्जिन बहुत अधिक रास्ता है - वास्तव में यह मूल रूप से दोगुना होना चाहिए जितना होना चाहिए। ऐसा लगता है कि यह दो नौ पैच के मार्जिन जोड़ रहा है।संक्रमण 9 पैच के साथ ट्रांज़ेबल - मार्जिन गलत है

मार्जिन काम करता है क्योंकि यह काम करता है अगर मैं उन 9पैच में से एक को पृष्ठभूमि के रूप में सीधे सेट करता हूं और ट्रांजिशन ड्रॉवेबल का उपयोग नहीं करता, तो नौ पैच निश्चित रूप से सही है।

क्या किसी को इस तरह की समस्या का सामना करना पड़ा है?

संपादित करें: यदि मैं सामग्री क्षेत्र को संपत्ति के पूर्ण आकार में सेट करता हूं और xml में पैडिंग को परिभाषित करता हूं तो यह काम करता है। इसके बावजूद यह हमेशा मार्जिन गलत हो जाएगा। यह एंड्रॉइड में एक बग जैसा लगता है, इसलिए यह एकमात्र समाधान प्रतीत होता है, लेकिन शायद इसके आसपास काम करने का एक अच्छा तरीका है:/

+0

क्या आप अपना 9 पैच और एक्सएमएल लेआउट पोस्ट कर सकते हैं? यह आपके कोड को देखने में सक्षम होने के बिना कठिन डीबग है। मैंने पहले इसमें भाग लिया है, जहां मेरे 'स्टेटलिस्ट ड्रेवेबल' के पास उचित मार्जिन नहीं थे, और मुझे एहसास हुआ कि सामग्री/खिंचाव वाले इलाकों में मेरी छवियों से मेल नहीं खाया गया है, और एंड्रॉइड ने आम संप्रदाय लिया। –

+1

यह ढांचे में एक बग प्रतीत होता है: http://code.google.com/p/android/issues/detail?id=48412 यह काम करता है अगर मैं xml में पैडिंग को ओवरराइट करता हूं, लेकिन यह वास्तव में मैं नहीं हूं –

+0

करना चाहते हैं जिज्ञासा से, क्या होता है यदि आप अपने 'ट्रांजिशन ड्रायबल' में अपने संक्रमण में दोनों वस्तुओं के लिए समान ड्रॉइंग का उपयोग करते हैं? यह जानने का एक गारंटीकृत तरीका होगा कि आप एक ही आकार की सामग्री/खिंचाव वाले क्षेत्रों के साथ समान आकार 9 पैच का उपयोग कर रहे हैं, और एंड्रॉइड कुछ गलत कर रहा है ... –

उत्तर

3

हाँ, आप सही हैं। वास्तव में परेशान करना

जैसा कि आपने प्रस्तावित किया है, मैं अब तक first_nine_patch की 9-पैच पैडिंग की क्षतिपूर्ति करने के लिए हार्ड-कोडेड नकारात्मक पैडिंग का उपयोग करता हूं।

<?xml version="1.0" encoding="UTF-8"?> 
<transition xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/first_nine_patch" /> 
    <item android:drawable="@drawable/second_nine_patch" 
     android:top="-7dp" 
     android:right="-16dp" 
     android:bottom="-8dp" 
     android:left="-4dp" > 
    </item> 
</transition> 
+0

इस कामकाज को साझा करने के लिए बहुत बहुत धन्यवाद! एक बार जब वे एंड्रॉइड में इस मुद्दे को ठीक कर लेते हैं, तो हमें इसे फिर से बदलना होगा। परेशान, वास्तव में .. – netzpurist

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