2011-05-25 17 views
12

मैं एक बहुत ही बुनियादी एंड्रॉइड ऐप लिखने की कोशिश कर रहा हूं जो स्क्रीन पर एक-दूसरे के बाद लगभग 5 चित्र प्रदर्शित करता है। मैं इसे लगभग 10 सेकंड के बाद एक अलग तस्वीर प्रदर्शित करना चाहता हूं। क्या कोई मुझे सलाह दे सकता है कि मैं इसके आसपास कैसे जाऊंगा। नीचे मैंने रेखांकित किया है कि मैं क्या देख रहा हूं।एंड्रॉइड चेंज पिक्चर हर 10 सेकंड

चित्र 1
चित्र 2
चित्र 3
चित्र 4
चित्र 5

प्रदर्शन पूर्ण स्क्रीन चित्र 1
इंतजार 10 सेकंड
चित्र 1 निकालें और प्रदर्शित चित्र 2
रुको 10 सेकंड
चित्र 2 और प्रदर्शन चित्र हटाएं 3
प्रतीक्षा 10 सेकंड
चित्र 3 निकालें और चित्र 4
प्रदर्शित रुको 10 सेकंड
चित्र 4 निकालें और प्रदर्शित चित्र 5
रुको 10 सेकंड

प्रारंभ फिर

उत्तर

38

आप Frame Animations का उपयोग कर विचार किया है?

आप इसे बाहर की जाँच

अद्यतन

तुम भी निर्माण कर सकते हैं अपने anim फ़ोल्डर में एक xml है कि एक फ्रेम दर फ्रेम एनीमेशन होता है, प्रत्येक छवि अवधि specifing और अन्य सेटिंग को निर्दिष्ट कर सकते हैं, प्रोग्राम के रूप में निश्चित रूप से एक फ्रेम एनीमेशन:

AnimationDrawable animation = new AnimationDrawable(); 
    animation.addFrame(getResources().getDrawable(R.drawable.image1), 100); 
    animation.addFrame(getResources().getDrawable(R.drawable.image2), 500); 
    animation.addFrame(getResources().getDrawable(R.drawable.image3), 300); 
    animation.setOneShot(false); 

    ImageView imageAnim = (ImageView) findViewById(R.id.img); 
    imageAnim.setBackgroundDrawable(animation); 

    // start the animation! 
    animation.start() 
+0

धन्यवाद, यह वास्तव में अच्छी तरह से काम करता है, मैं एंड्रॉइड नौसिखिया और आईएम प्रोग्रामिंग के लिए कुछ प्रोग्रामिंग करता हूं, जब मैं अपने वर्चुअल एंड्रॉइड डिवाइस पर ऐप चलाता हूं तो यह पोर्ट्रेट की तरह एक बहुत छोटी स्क्रीन लाता है वैसे भी इसे ठीक करने के लिए होता है और क्या छवि दृश्य स्क्रीन को भरने का कोई आसान तरीका है? बहुत बहुत धन्यवाद –

+1

इसे छवि दृश्य xml गुणों पर डालने का प्रयास करें: android: layout_width = "fill_parent" android: layout_height = "fill_parent"। और उसके बाद एंड्रॉइड सेट करें: स्केल टाइप टाइप जो आपको चाहिए। इस लिंक को देखें: http://android-developers.blogspot.com/2009/03/android-layout-tricks-3-optimize-by.html – BFil

+0

अच्छा @BFil काम करता है। धन्यवाद!!! – groff07

2

एक Runnable कि परिवर्तन आप चाहते हैं (मैं इसे बदल जाएगी एक ImageView के लगता है कार्यान्वित बनाएं बिटमैप/ड्रायबल), और उन्हें Handler और इसकी postDelayed() विधि का उपयोग करके मुख्य थ्रेड लूप में देरी के साथ पोस्ट करें।

इसे एक लूप बनाने के लिए, आपके पास रनने योग्य पोस्ट हो सकता है।

6

आप CountDownTimer उपयोग कर सकते हैं: निम्न चरणों का पालन:

1) की घोषणा एक array जो अपने चित्रों का identifients शामिल होंगे

2) घोषित CountDownTimer इस तरह:

int i=0; 
new CountDownTimer(10000,1000) { 

       @Override 
       public void onTick(long millisUntilFinished) {} 

       @Override 
       public void onFinish() { 
        imgView.setImageDrawable(sdk.getContext().getResources().getDrawable(array[i])); 
        i++; 
        if(i== array.length-1) i=0; 
        start(); 
       } 
      }.start(); 
+0

यह काम किया। बहुत बहुत धन्यवाद। –

5

blink.xml

<?xml version="1.0" encoding="utf-8"?> 
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/selected" android:oneshot="false"> 
<item android:drawable="@drawable/Picture_1" android:duration="10000" /> 
<item android:drawable="@drawable/Picture_2" android:duration="10000" /> 
<item android:drawable="@drawable/Picture_3" android:duration="10000" /> 
<item android:drawable="@drawable/Picture_4" android:duration="10000" /> 
<item android:drawable="@drawable/Picture_5" android:duration="10000" /> 
</animation-list> 

खींचने योग्य फ़ोल्डर में blink.xml डालें और गतिविधि कोड में इसे लिखें।

ImageView mImageView ; 
mImageView = (ImageView)findViewById(R.id.imageView); //this is your imageView 
mImageView .setImageDrawable(getResources().getDrawable(R.drawable.blink)); 

तो आप जो चाहते हैं उसे प्राप्त करेंगे।

+1

यह एक क्लीनर –

+0

एनीमेशन ड्रॉवेबल फ्रेमएनीमेशन = (एनीमेशन ड्रावेबल) mImageView.getDrawable(); frameAnimation.start(); एनीमेशन शुरू करने के लिए आपको इन लाइनों को भी जोड़ना चाहिए। – praveenb

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