2012-05-28 8 views
11

Sto usando l'animazione di arricciatura pagina nella mia applicazione.Come possiamo mostrare l'animazione di arricciatura pagina al clic del pulsante in Android

Codice può essere trovato qui: https://github.com/harism/android_page_curl/.

Questo codice funziona correttamente ma voglio apportare alcune modifiche al suo interno.

1.Per visualizzare l'immagine a schermo intero senza sfondo.

2.Voglio mostrare questa animazione di arricciatura anche al clic del pulsante.

Il codice per la classe di posta CurlActvity è http://pastebin.com/ZLzP6Zxt lì.

Se qualcuno ha qualche idea su dove devo apportare modifiche al codice, per favore aiutatemi. Qualsiasi aiuto è apprezzato.

Edit: Il primo problema Per visualizzare l'immagine a schermo intero senza sfondo è risolto con alcune modifiche nella private class SizeChangedObserver. L'unico problema è impostare l'animazione onClick del pulsante.

+0

Hey Naresh vedere questo .. http://stackoverflow.com/ questions/5739914/page-turn-flip-with-button-click-for-android –

+0

Puoi aiutarmi a risolvere un problema quando tento di tornare alle pagine precedenti, quindi i bitmap non vengono aggiornati e si ripetono. Perché succede? http://stackoverflow.com/q/16772734/1503130 – Prateek

risposta

6

Per la visualizzazione a schermo intero è necessario utilizzare come quello

private class SizeChangedObserver implements CurlView.SizeChangedObserver { 
     public void onSizeChanged(int w, int h) { 
      if (w > h) { 
       mCurlView.setViewMode(CurlView.SHOW_TWO_PAGES); 
       mCurlView.setMargins(0f, 0f, 0f, 0f); 
      } else { 
       mCurlView.setViewMode(CurlView.SHOW_ONE_PAGE); 
       mCurlView.setMargins(0f, 0f, 0f, 0f); 
      } 
     } 
    } 

} 

anche per mostrare l'animazione vedere che puntano Page curl animation - issue

2
  1. Hai provato a cambiare

    margine int = 7 ;

    confine int = 3;

a eks.

int margin = 0; 
int border = 0; 

la funzione loadBitmap (..)?

realtà ho rimosso il confine e margini entro LoadBitmap qualche tempo fa in un progetto ho lavorato su, ma io non sono il codice di più ..

+0

dato il margine 0 non lo rende a schermo intero sopra ans dato da @shifu che funziona bene per quello –

+0

basta commentare questa porzione di codice e avrai fullscreen int imageWidth = r. larghezza() - (bordo * 2); int imageHeight = imageWidth * d.getIntrinsicHeight() /d.getIntrinsicWidth(); if (imageHeight> r.height() - (border * 2)) { imageHeight = r.height() - (border * 2); imageWidth = imageHeight * d.getIntrinsicWidth() /d.getIntrinsicHeight(); } – Sagar

Problemi correlati