2010-10-26 10 views
5

मैं एंड्रॉइड प्रोग्रामिंग (बस कुछ ट्यूटोरियल/देव गाइड आदि पढ़ता हूं) के लिए बिल्कुल नया हूं और हर नौसिखिया मैं बेकार गेम करना चाहता हूं :-)।टेक्स्ट व्यू और बटन जैसे अन्य दृश्यों के साथ SurfaceView को जोड़ना

वर्तमान में मैं विभिन्न विचारों के लेआउट के साथ संघर्ष कर रहा हूं। उदाहरण के समान मैंने एक कक्षा बनाई है जो SurfaceView बढ़ाती है और उसे FrameLayout में डाल देती है। इस SurfaceView के आसपास मैं अन्य दृश्यों की तरह Buttons & TextViews चाहता हूं। कुछ इस तरह:

----------------------------------------------- 
| TextView | SurfaceView   | TextView | 
|   |      |   | 
------------      ------------ 
|   |      | TextView | 
|   |      |   | 
|   |      ------------ 
|   |      | TextView | 
|   |      |   | 
|   |      ------------ 
|   |      |   | 
|   |      |   | 
----------------------------------------------- 
| Button        Button | 
----------------------------------------------- 

मैं एक FrameLayout और RelativeLayouts (चिपके हुए स्क्रीन के किनारों पर TextViews) के साथ इस तरह कुछ करने के लिए प्रबंधित किया है, लेकिन मैं बेहतर SurfaceView के आकार नियंत्रित करना चाहते हैं क्योंकि यह वस्तु (ओं) की चौड़ाई और ऊंचाई में एक से अधिक होना चाहिए, मैं इसमें चित्रित करूंगा। मैंने layout_width और layout_height को कुछ डीपी मानों पर सेट करने का प्रयास किया है, लेकिन जब मैं 0,0 पर पेंटिंग शुरू करता हूं तो यह अभी भी बहुत ऊपर-बाएं कोने पर है (जहां TextView है ..)।

तो, ऊपर के रूप में एक लेआउट प्राप्त करने के लिए सबसे अच्छा अभ्यास क्या है? क्या लेआउट का उपयोग कर? या मुझे अपने SurfaceView के draw() फ़ंक्शन के अंदर अपना टेक्स्ट बेहतर तरीके से आकर्षित करना चाहिए?

+0

आपको लोगों को समस्या के बारे में बेहतर संकेत देने के लिए अपने एक्सएमएल को पोस्ट करना चाहिए। – MikeIsrael

उत्तर

6

लेआउट बटन, लेबल और अन्य प्रकार के दृश्य ऑब्जेक्ट्स के साथ ओपेंगजीएल सामग्री को गठबंधन करने का सही तरीका है। आप लेआउट को अन्य लेआउट के अंदर जोड़ सकते हैं ... ताकि आप लीनियर लेआउट या जो भी चाहें संयोजन के चरणबद्ध तरीके से अपना स्क्रीन चरण बना सकें।

+-----------+ 
| Zone 1 | 
+-----+-----+ 
| b1 | b2 | 
+-----+-----+ 

फिर जोन 1 के अंदर, आप एक क्षैतिज रेखीय लेआउट के लिए उपयोग कर सकते हैं:

उदाहरण के लिए, यदि आप एक रिश्तेदार लेआउट सेटअप करने के लिए बटन (, बी 2 बी 1) और स्क्रीन के बाकी का उपयोग कर सकते 3 मुख्य स्तंभों

+----+----+----+ 
| c1 | c2 | c3 | 
+----+----+----+ 

c2 आप, SurfaceView जगह कर सकते हैं के अंदर और में पाठ लेबल c1

सी 3 एक नया कार्यक्षेत्र रैखिक पाठ ला प्रदर्शित करने के लिए लेआउट होगा अंदर

bels।

+----+ 
| t1 | 
+----+ 
| t2 | 
+----+ 
| t3 | 
+----+ 
संबंधित मुद्दे