दो आसन्न ग्राफ़िक बटन हैं। यदि मैं निर्देशांक की गणना की विधि का उपयोग करता हूं तो TouchEvent
स्पर्श करें, मुझे निर्देशांक की एक बड़ी श्रृंखला बनाना है। शायद एक और तरीका है?एक समोच्च बहुभुज द्वारा बटन कैसे सेट करें? एंड्रॉइड
उत्तर
नहीं सबसे अच्छा समाधान है, लेकिन आप दो बटन ओवरलैप सकता है प्रत्येक (काला या सफेद) और Button
की छवि पारदर्शी बनाने के बाकी छवि का एक हिस्सा का प्रतिनिधित्व (छवियों होगा दोनों बटनों के लिए समान आयाम)। कक्षा को ओवरराइड करने के लिए आपको onTouchEvent
विधि स्पर्श करने की आवश्यकता होगी, उस बिंदु के आधार पर जहां स्पर्श पारदर्शी बिंदु या "छवि" बिंदु होता है। मैं एक छोटा सा नमूना परियोजना को दो भागों नीचे की तरह के साथ एक Button
(मेरे डिजाइन कौशल पर ध्यान न दें) प्राप्त किए हैं:
आप project here पा सकते हैं, यह बहुत आत्म व्याख्यात्मक है। देखें कि यह आपकी मदद करता है या नहीं।
आपके समाधान के लिए धन्यवाद। यह मेरी मदद की। हालांकि, मुझे आपके नमूने के साथ एक समस्या मिली है। यदि ड्रायबल "wrap_content" में नहीं है (उदाहरण के लिए, fill_parent), तो आपकी प्रोजेक्ट क्रैश हो जाएगी। । बिटमैप ख = Bitmap.createScaledBitmap ( \t \t ((BitmapDrawable) bkg.getCurrent()) getBitmap(), \t \t getWidth(), \t \t getHeight (: मैं उस तरह बिटमैप बनाने के द्वारा यह तय कर दी है), \t \t सच \t); –
@ सेबेस्टियन आप सही हैं, मेरे कोड ने दृश्य के आकार को बदलने पर विचार नहीं किया है (या बिटकमैप स्वयं बड़ा है)। मैंने नमूना को सही किया है और मैं 'बिटमैप' को 'ऑनसाइज चेंज' कॉलबैक में स्केल कर रहा हूं, इसलिए इसमें हमेशा सही आकार होता है। – Luksprog
आपका समाधान बेहतर है कि मेरा (साइज चेंज में इसे करने के लिए)। धन्यवाद फिर से :) हालांकि, मैंने बिटमैप बनाने से पहले इसे फिर से सुधार लिया है, मैंने यह कोड जोड़ा है: // बिटमैप मेमोरी में बहुत सारी जगह लेता है, जितनी जल्दी हो सके मुफ्त मेमोरी \t अगर (mBitmap! = Null) { \t mBitmap.recycle(); \t} –
यह बिल्कुल ठीक है कि बटन कैसे दिखते हैं? – Luksprog
नहीं, डिज़ाइन समाप्त नहीं हुआ है, अब एक चौराहे पर खड़ा है, अगर मैं अपनी समस्या का हल ढूंढता हूं तो मुझे एक ट्रैपेज़ॉयडल बटन बनाना है, – Roman