Sto usando muPDF per leggere i PDF nella mia applicazione. Non mi piace l'animazione predefinita (Passaggio in orizzontale). Nell'altro lato ho trovato la libreria this per effetti di arricciatura sulle immagini e il progetto this per l'effetto flip-flap sui layout.Utilizzo di muPDF con effetto curl/flip
Nel progetto di esempio riccio, in CurlActivity
, tutti i dati sono immagini e impostare in PageProvider
come questo:
private class PageProvider implements CurlView.PageProvider {
// Bitmap resources.
private int[] mBitmapIds = { R.drawable.image1, R.drawable.image2,
R.drawable.image3, R.drawable.image4};
e usarlo in questo modo:
private CurlView mCurlView;
mCurlView = (CurlView) findViewById(R.id.curl);
mCurlView.setPageProvider(new PageProvider());
E CurlView
estende da GLSurfaceView
e strumenti View.OnTouchListener, CurlRenderer.Observer
Ma in muPDF se non mi sbaglio, i dati sono in core
oggetto. core
è l'istanza di MuPDFCore
. E l'utilizzo in questo modo:
MuPDFReaderView mDocView;
MuPDFView pageView = (MuPDFView) mDocView.getDisplayedView();
mDocView.setAdapter(new MuPDFPageAdapter(this, this, core));
MuPDFReaderView
estende ReaderView
e ReaderView
estende AdapterView<Adapter>
e implementa GestureDetector.OnGestureListener, ScaleGestureDetector.OnScaleGestureListener, Runnable
.
La mia domanda è dove posso utilizzare l'effetto curl in muPDF? Dove dovrei ottenere le pagine una per una e convertirle in bitmap? e quindi modificare gli aspetti dell'adapter in muPDF su CurlView.
Nel progetto di esempio flip-flap, in FlipHorizontalLayoutActivity
(mi piace questo effetto troppo), abbiamo questi:
private FlipViewController flipView;
flipView = new FlipViewController(this, FlipViewController.HORIZONTAL);
flipView.setAdapter(new TravelAdapter(this));
setContentView(flipView);
E FlipViewController
estende AdapterView<Adapter>
, e set di dati in TravelAdapter
che si estende BaseAdapter
.
Nessuno lo ha mai fatto prima? O può aiutarmi a farlo ?!
EDIT:
ho trovato un altro buon lettore open source PDF con effetto ricciolo chiamato fbreaderJ. il suo sviluppatore dice "Un additional module che permette di aprire i file PDF in FBReader. basato sulla libreria radaee pdf."
mi sono confuso! causa radaeepdf è closed source e downloadable project è solo per demo e nome utente e password inseriti sono per questo pacchetto. Le persone vogliono cambiare l'intero progetto del fbreader come il nome del pacchetto.
Un altro problema per farmi confondere è dove si trova questo codice sorgente del modulo aggiuntivo ?!
In ogni caso, se qualcuno vuole aiutarmi, l'utente lo ha fatto molto bene.
EDIT:
Ho parlato con Robin Watts, che ha sviluppato MuPDF (o uno degli sviluppatori), e mi ha detto:
Hai letto piattaforma/android/ClassStructure.txt? MuPDF è principalmente una libreria C. L'API standard è quindi una C. Piuttosto di esporre quella API esattamente come è a Java (che sarebbe la soluzione più bella , e qualcosa su cui ho lavorato, ma avere non completata a causa della mancanza di tempo), abbiamo implementato MuPDFCore a avvolgere solo i bit di cui avevamo bisogno. MuPDFCore gestisce l'apertura di un file PDF, e recupera i bitmap da utilizzare nelle viste. o meglio, MuPDFCore restituisce 'viste', non 'bitmap'. Se hai bisogno di bitmap, hai intenzione di modificare in MuPDFCore.
Ci sono troppi errori quando si modifica una piccola parte della classe MuPDFReaderView. Mi confondo! Questi sono legati l'uno all'altro.
Si prega di rispondere più precisamente.
EDIT:
E di taglie è scaduto.
Avere hai qualche soluzione per questo? –
@AnandSavjani Non ho provato la risposta verificata, ma sembra funzionare. –