2011-09-29 13 views
5

मेरे पास एक ऐप है जो फ़्रेमलेआउट पर स्क्रीन पर कैमरा दृश्य दिखाता है। स्क्रीन लैंडस्केप मोड में तय है।स्क्रीन पर गतिशील रूप से टेक्स्टव्यू कैसे स्थानांतरित करें? (framelayout)

मुझे स्क्रीन के गतिशील रूप से निर्धारित निर्देशांक के साथ एक टेक्स्ट व्यू लिखना होगा। निर्देशांक प्रतिशत में निर्धारित होते हैं, उदाहरण के लिए:

स्क्रीन के x = 80% स्क्रीन & वाई = 20% स्क्रीन पर टेक्स्टव्यू लिखें। स्क्रीन & वाई = 55% स्क्रीन के कोरिनेट्स x = 35% पर टेक्स्टव्यू लिखें।

इसे कैसे करें? मैं पहले से ही प्रतिशत, मैं केवल उनके उपयोग का तरीका frameLayout

कोड उदाहरण के इच्छित स्थान पर TextView लिखने के लिए स्वागत

मैं इस के साथ की कोशिश की लेकिन नहीं काम करता है, TextView करता हैं पता करने की जरूरत नहीं ले जाया जाता है:

TextView poi..... etc etc 
poi.setLayoutParams(new LayoutParams((int)(w*(xCoordPercent/100)), h/2)); 

धन्यवाद

+1

मुझे लगता है कि आप क्या करने की कोशिश कर रहे हैं एक टेक्स्ट व्यू एनिमेट कर रहा है। यदि ऐसा है, तो आपको इसके बारे में ट्यूटोरियल देखना चाहिए, यह मूलभूत आंदोलनों के लिए काफी सरल है और यह आपको अधिक जवाब देने के लिए विचार दे सकता है। – Sephy

+0

नहीं, मैं इसे एनिमेट नहीं करना चाहता हूं, मैं स्क्रीन पर टेक्स्टिव को बाएं से दाएं, ऊपर से नीचे तक, डायनामिक रूप से जेनरेट किए गए निर्देशांकों पर निर्भर करता हूं। बाद में मैं एक छवि का उपयोग करूंगा, लेकिन अब मुझे एक टेक्स्टव्यू – NullPointerException

उत्तर

3
MarginLayoutParams params=(MarginLayoutParams)poi.getLayoutParams(); 
params.leftMargin=80; 
//here 100 means 100px,not 80% of the width of the parent view 
//you may need a calculation to convert the percentage to pixels. 
params.topMargin=50; 
poi.setLayoutParams(params); 

यह मदद मिल सकती है।

+0

का उपयोग करने की आवश्यकता है, यह काम नहीं करता है। पीओआई अभी भी स्क्रीन के ऊपरी बाएं कोने में चित्रित है। मुझे खिड़की या कुछ पेंट करना है? फ़्रेमलाइट उस पर एक कैमरेव्यू भी बचाता है। गलत क्या है? मैं अटक गया – NullPointerException

+0

यह काम करता है अगर आप एक सापेक्ष लेआउट पर टेक्स्टव्यू डालते हैं – NullPointerException

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