Autore Topic: Gif animate. Come visualizzarle?  (Letto 5174 volte)

Offline Gambanera

  • Nuovo arrivato
  • *
  • Post: 27
  • Respect: +11
    • Mostra profilo
  • Dispositivo Android:
    Vodafone ideos
  • Play Store ID:
    Gambanera
  • Sistema operativo:
    Ubuntu 10.10 / Windows 7
Gif animate. Come visualizzarle?
« il: 10 Gennaio 2011, 14:08:38 CET »
0
Buon giorno a tutti, ho un problema con il formato gif  :-(

Ho provato ad utilizzare una VideoView per inserire una gif animata nella mia ui, ma ho ottenuto un problema analogo a questo thread http://www.anddev.it/index.php/topic,1584.0.html.

Sapete come fare a specificare il percorso di una risorsa che si trova ad esempio nella carte raw?( credo che l'errore sia dovuto al fatto che il path non sia corretto )

Oppure sto sbagliando tutto e dovrei utilizzare un altro componente per la visualizzazione delle gif? E se si, quale?

Grazie in anticipo!

[Edit]
Alla fine ho risolto seguendo i consigli presenti in questo thread http://www.anddev.it/index.php/topic,909.0.html :)

« Ultima modifica: 17 Gennaio 2011, 16:35:23 CET da Gambanera »

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
R: Gif animate. Come visualizzarle?
« Risposta #1 il: 11 Giugno 2011, 10:59:53 CEST »
0
Ma perchè si possono visualizzare le gif animate in android ?

Inviato da Galaxy S2 usando Tapatalk

Offline Zappescu

  • Utente junior
  • **
  • Post: 110
  • Respect: +7
    • Mostra profilo
    • Tic Tank Toe
  • Dispositivo Android:
    HTC Magic
  • Play Store ID:
    Zapmobilegames
  • Sistema operativo:
    Win XP
Re:Gif animate. Come visualizzarle?
« Risposta #2 il: 11 Giugno 2011, 20:20:16 CEST »
0
Il mio splash sreen è una gif animata.
Se interessa a qualcuno, io faccio così:

Codice (Java): [Seleziona]
private class SplashView extends View {
        Movie movie;
        InputStream is=null;
        long moviestart;
        public SplashView (Context mContext) {
                super(mContext);
                setContentView(R.layout.splash);
                is=mContext.getResources().openRawResource(R.drawable.intro_animata);
        }

        @Override
        protected void onDraw(Canvas canvas) {          
               
        super.onDraw(canvas);
       
        // Un po' di calcoli sulle immagini:
        int wc = canvas.getWidth();
        int hc = canvas.getHeight();
        bmapSplash_bgnd = Bitmap.createScaledBitmap(bmapSplash_bgnd,wc, hc, true);  
        int w_bmap_aft = bmapSplash_bgnd.getWidth();
        int h_bmap_aft = bmapSplash_bgnd.getHeight();    
        canvas.drawBitmap(bmapSplash_bgnd,0,0,null);
       
        // Il nuovo centro del canvas:
        int center_c_x = w_bmap_aft/2;
        int center_c_y = h_bmap_aft/2;
        // Il centro del movie:
        int center_m_x = movie.width()/2;
        int center_m_y = movie.height()/2;
        // la nuova posizione dove disegnare il movie:
        int pos_x = center_c_x-center_m_x;
        int pos_y = center_c_y-center_m_y;
       
        final long now=android.os.SystemClock.uptimeMillis();
        if (moviestart == 0) { // first time
                moviestart = now;
        }
        int relTime = (int)((now - moviestart) % movie.duration()) ;
       
        movie.setTime(relTime);
       
        if (!intro_sound.isPlaying() && intro_sound!=null) {
                Thread sound = new Thread(){
                                public void run(){                                     
                                        intro_sound.start();  }
                                };
                                sound.start();  
                }
       

                if ( (now - moviestart) > movie.duration()) {
                        finish();
                        } else {
                                movie.draw(canvas,pos_x,pos_y);
                        }
       
        this.invalidate();
        }
    }
Zapmobilegames website
Tic Tank Toe: a new approach for a classic game