2013-06-17 4 views
5

Panoramicbackgroundएंड्रॉयड

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

यह अनिश्चित काल के लिए और सही करने के लिए जा रहा सबसे फिर बाएं सबसे में वापस लौटने के बाद दोहराना है ..

मैं निम्नलिखित की कोशिश की है:

Animation left = AnimationUtils.loadAnimation(MainActivity.this, com.icare.kids.R.anim.view_transition_out_right); 
    left.setRepeatCount(Animation.INFINITE); 
    left.setRepeatMode(Animation.REVERSE); 
    left.setDuration(3000); 

    findViewById(id.cloud).startAnimation(left); 

लेकिन यह काम करने के लिए प्रतीत नहीं होता .. इसके लिए कोई समाधान?

मैं वर्तमान में एक imageView करने के लिए छवि की स्थापना कर रहा हूँ इस प्रकार है:

<ImageView 
    android:id="@+id/cloud" 
    android:layout_width="3000dip" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/topbar" 
    android:scaleType="matrix" 
    android:src="@drawable/bgpan" /> 

मैं कैसे स्क्रीन करने के लिए छवि सेट से शुरू करने के लिए कर सकते हैं इस तरह सबसे नीचे है, तो मनोरम एनीमेशन प्रभाव में मदद करने के लिए छोड़ दिया : enter image description here

+1

से लिया गया है क्यों बिटमैप के बजाय कदम नहीं पाठ को देखने के? मेरा मतलब है, अगर आपके पास स्मृति में लोड की गई पृष्ठभूमि (3000 पीएक्स) है, तो आप वास्तव में बहुत सारी मेमोरी बर्बाद कर रहे हैं, जो भी दिखाई नहीं दे रहा है ... आपको केवल एनीमेशन के प्रत्येक फ्रेम में बिटमैप का एक टुकड़ा काटना चाहिए, फिर एक्स प्राप्त करें + ऑफसेट और आगे, प्रत्येक फ्रेम को बाएं से जांचना होगा कि आपको बाएं से फिर से शुरू करना है या नहीं ... –

+1

स्टैक ओवरफ्लो के कुछ जवाब संबंधित हैं, देखें: http://stackoverflow.com/a/17275163/2684 –

उत्तर

3

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

कार्यान्वयन के विवरण और समाधान this answer

0

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

यह आपको जो करने की कोशिश कर रहा है उसका भ्रम देगा।

तो मान लें कि आपके एडाप्टर में आपके पास 4 विचार हैं, प्रत्येक दृश्य में केवल एक छवि संपत्ति होती है जो संपूर्ण स्क्रीन भरती है, और व्यूएजर के नकली ड्रैग पैन व्यू ए से व्यू बी, व्यू सी खींचती है और व्यू डी खींचती है, उसके बाद दृश्य बी से यह नकली drags सी देखें और देखें एक ड्रॉ के लिए फिर से

है कि अगर काम करेगा आप

+0

mmmm अच्छी तरह से अच्छा विचार करने के लिए, मुझे लगता है कि एक व्यूपेजर पर मुकदमा किए बिना इमेज व्यू पर एक साधारण एनीमेशन चाल होना चाहिए .. लेकिन अगर मैं अपना आखिरी विकल्प सुझाव देता हूं तो सुझाव –

+0

के लिए धन्यवाद, तो आप सही हैं, @ नाडर, लेकिन मुझे एनीमेशन कक्षाओं के साथ बहुत सारे मुद्दे हैं – CQM