2010-06-08 14 views
16

मैं उपयोगकर्ता को यह देखने के लिए एक आसान तरीका ढूंढ रहा हूं कि बीएसी कैलकुलेटर के लिए उनके पास कितने पेय हैं। अनुप्रयोग केमैं जावा कोड में एक मौजूदा लेआउट के भीतर एक छवि दृश्य कैसे बना सकता हूं?

चित्र:

PICTURE OF THE APP

बटन प्रेस पर, मैं चाहते हैं एक छवि सीधे स्पिनर के तहत और बाईं संरेखण के साथ, स्क्रीन के लिए जोड़ा जा करने के लिए। जब मैं बटन को दोबारा दबाता हूं, तो मैं स्क्रीन पर एक और छवि जोड़ना चाहता हूं।

तो अगर मैंने बीयर बटन जोड़ा है, तो स्पिनर के नीचे एक बियर का एक ड्रॉबल दिखाई देगा। अगर मैंने दोबारा बियर बटन दबाया, तो मैं स्पिनर के नीचे बीयर के दो ड्रॉबल्स बनना चाहता हूं, अधिमानतः उन्हें दाएं से जोड़ा जा रहा है।

(इसके अलावा, उन्हें अपने चौड़ाई सीमा तक पहुँच होने के चारों ओर लपेटकर, और बाईं तरफ फिर से शुरू करने के लिए, लेकिन एक पूर्ण रेखा से नीचे, भयानक होगा)

मैं ऐसा करने के तरीके को समझ नहीं सकता। मैं एक सापेक्ष लेआउट में कोड में एक छवि दृश्य जोड़ना मानता हूं (क्योंकि इसे दाएं स्थान पर रखा जाना चाहिए) सबसे अच्छा मार्ग होगा, लेकिन यदि यह xml में संभव है तो मैं इसका उपयोग करने से खुश हूं। कोई मदद?

उत्तर

39

बटन के क्लिक कॉलबैक में, एक छवि दृश्य वस्तु बनाएं, बोतल छवि सेट करें, और इसे स्थिति दें। उदाहरण के लिए (मैं अपने तत्वों के नाम संभालने हूँ):

ImageView iv = new ImageView(this); 
iv.setImageResource(R.drawable.beerbottle); 
RelativeLayout rl = (RelativeLayout) findViewById(R.id.RelativeLayout01); 
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
    RelativeLayout.LayoutParams.WRAP_CONTENT, 
    RelativeLayout.LayoutParams.WRAP_CONTENT); 
lp.addRule(RelativeLayout.BELOW, R.id.ButtonRecalculate); 
lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); 
rl.addView(iv, lp); 

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

+0

आह! लगभग! केवल शीर्ष पंक्ति "ImageView iv = नई छवि दृश्य (यह);" एक अपवाद फेंकता है "कन्स्ट्रक्टर ImageView() अपरिभाषित है।" –

+0

मैं "इस" को "नल" के साथ बदल सकता हूं और यह चलता है लेकिन फिर चित्र दिखाई नहीं देता है ... –

+0

आह हाँ, यह कॉलबैक में है इसलिए इसमें उचित संदर्भ की कमी है। "यह" को "parentActivity.this" के साथ बदलें, जहां अभिभावक गतिविधि गतिविधि गतिविधि है जिसे आप श्रोता में सेट कर रहे हैं। –

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