2011-12-21 4 views
5

में एक बटन (या अंदर पाठ) घुमाएं मुझे कोडिंग द्वारा यादृच्छिक डिग्री द्वारा एक बटन (या अंदर पाठ, यह वही है) घुमाने के लिए है। क्या कोई बटन है। एपीआई स्तर में कम रोटेट (एक्स) तो 11 ??कोड

+0

इस प्रश्न के साथ क्या गलत है? –

+0

यह कोई शोध प्रयास नहीं दिखाता है। 'बटन' क्लास दस्तावेज़ खोलें, अपने ब्राउज़र के खोज फ़ंक्शन का उपयोग करें और खोज फ़ील्ड में 'रोटेशन' टाइप करें और आप देखेंगे कि मेरा क्या मतलब है। –

+0

मैंने बहुत कुछ खोजा है, लेकिन अधिकांश प्रश्न बटन दबाकर छवियों को घूर्णन करने के बारे में हैं .. बटन को घुमाएं नहीं। प्रलेखन में , मुझे केवल "सेटरोटेशन (फ्लोट) = दृश्य में रोटेशन मिला, डिग्री में .." मुझे नहीं पता कि बटन को घुमाने के लिए कैसे कार्यान्वित किया जाए। button.setRotate (x) काम नहीं करता है। –

उत्तर

4

ठीक है, एक नज़र था और जवाब यह है: यह जटिल है।

आप पुरानी एनीमेशन ढांचे का उपयोग करके बटन को घुमा सकते हैं, उदा। इस तरह:

Button button = (Button) findViewById(R.id.button); 

// rotation from 0 to 90 degrees here 
RotateAnimation a = new RotateAnimation(0, 90); 
a.setFillAfter(true); 
a.setDuration(0); 
button.startAnimation(a); 

समस्या है कि यहाँ बटन घुमाया है, लेकिन सही ढंग से क्लिक नहीं किया जा सकता है। क्लिक ईवेंट को ट्रिगर करने वाले निर्देशांक उस क्षेत्र में होते हैं जहां बटन घुमाए जाने से पहले बटन था।

चूंकि यह एक बहुत अच्छा समाधान नहीं है, इसलिए आपकी सबसे अच्छी शर्त शायद कस्टम दृश्य लिखना है जो बटन वर्ग को बढ़ाती है और onDraw() में बटन कैनवास को घुमाती है। इस मामले में आपको onMeasure() ओवरराइड करना होगा। एक परिचय के लिए Custom Components देखें।

इसके अलावा आप बटन पैरेंट लेआउट से क्लिक ईवेंट को अवरुद्ध करने का प्रयास कर सकते हैं और जब मौजूदा निर्देशांक बटन के भीतर क्लिक किया गया तो उचित ईवेंट ट्रिगर कर सकते हैं। यद्यपि यह कुछ हद तक "हैकी" है।

+0

कल मैं कोशिश करूँगा! मेरे बटन वर्ग हैं, इसलिए यह काम कर सकता है। –

+1

एनीमेशन केंद्र के लिए पिवट जानकारी जोड़ना, यह सही है !! धन्यवाद घुमाएं एनीमेशन एक = नया घुमावएनीमेशन (0, 9 0, एनीमेशन.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); –

+0

कृपया एंड्रॉइड devlopment के लिए नया हूँ, क्या आप मुझे दिखा सकते हैं कि बटन रोटेशन कोड के साथ बटन वर्ग का विस्तार कैसे करें? – Mehdi