Android Parallax Effetto e Visualizzazione Pager

Sto cercando di get un effetto parallasse nella mia applicazione. Ho un FragmentActivity che implementa l'interface OnPageChangeListener e ascolta i miei events di scorrimento ViewPager .

Per get questo effetto nel mio XML ho un LinearLayout dietro tutte le altre viste con il mio background, e lo onPageScrolled callback onPageScrolled . Se scorcio semplicemente è tutto ok, l'effetto funziona e il cambiamento della posizione di background. Ma quando il dito lascia lo schermo, lo background viene ridisegnato alla sua posizione originale (anche se sono in una nuova pagina). Non riesco a capire perché questo accada. Qui il codice del mio FragmentActivity :

  • Android: Corretto modo di usare onBackPressed () con Toast
  • come faccio ad avviare (e bind) un servizio remoto in android implementato in un'altra applicazione (pacchetto diverso)?
  • Come controllare quale elenchi di textwatcher editext viene chiamato in edintext creato dynamicmente
  • Come creare "floating TextViews" in Android?
  • Modificare il colore di suggerimento EditText quando si utilizza TextInputLayout
  • Come avviare l'applicazione con Theme.Material su dispositivi less recenti
  •  public class MainActivity extends FragmentActivity implements OnPageChangeListener { // DEFINE THE PAGEADAPTER private ViewPager viewPager; private com.angtrim.ecomilano.PagerAdapter pagerAdapter; private int oldPosition = 0; private int offSet = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // CREATE VIEWPAGER viewPager = (ViewPager) findViewById(R.id.viewpager); pagerAdapter = new PagerAdapter(getApplicationContext(),getSupportFragmentManager()); // SET THE ADAPTER viewPager.setAdapter(pagerAdapter); // SET FIRST ITEM viewPager.setCurrentItem(0); // SET CHANGE PAGE LISTENER viewPager.setOnPageChangeListener(this); } @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // RIGHT SWIPE if((oldPosition < arg2)) { offSet = (int)((arg2 - oldPosition)*0.5); oldPosition = arg2; } // LEFT SWIPE else if( (oldPosition > arg2)) { offSet = (int) (-(oldPosition - arg2)*0.5); oldPosition = arg2; } findViewById(R.id.backi).offsetLeftAndRight(offSet); } @Override public void onPageSelected(int arg0) { // TODO Auto-generated method stub } } 

    Grazie.

  • Android: Imansible avere ViewPager WRAP_CONTENT
  • Richiamo di carico di Picasso
  • Android: ridimensionamento di immagini in XML
  • Disegnare cerchio di certo raggio sulla visualizzazione mappa in android
  • Cosa significa AdapterView <?> Nel metodo OnitemClick ()? Qual è l'uso di altri parametri?
  • Problema di rifiuto OpenSSL App per Android
  • 5 Solutions collect form web for “Android Parallax Effetto e Visualizzazione Pager”

    So che è un po 'vecchio, ma guarda a quella https://github.com/xgc1986/ParallaxPagerLibrary

    Non sovrascrive il metodo onDraw, e l'effetto non solo con le immagini, funziona con each tipo di vista

     mPager.setPageTransformsr(false, new ParallaxTransformsr(R.id.parallaxContent)); 

    R.id.paraallaxContent è l'id della Vista che si desidera avere questo effetto

    a less che le altre soluzioni non richiedano alcuna struttura concreta da lavorare, ed anche la struttura indipendente

    demo: youtube

    So che la domanda è vecchia e non posso rispondere veramente alla tua domanda. Ma un ragazzo di nome Matthieu ha creato un eccellente esempio di effetto parallax di ViewPager che può essere trovato al seguente link.

    https://github.com/MatthieuLJ/ViewPagerParallax

    Forse questa libreria può aiutarti:

    https://github.com/garrapeta/ParallaxViewPager

    Questa libreria è completamente personalizzabile nelle direzioni x e y e include gli effetti alfa:

    https://github.com/prolificinteractive/ParallaxPager

    Installazione (da v0.7, controllare README per gli aggiornamenti):

    1. Aggiungi come una dipendenza centrale di Maven con Gradle

    2. Utilizza l' ViewPager ParallaxContainer personalizzata in formato XML anziché ViewPager

    3. Creare un file XML di layout per each pagina (gli attributi x / y / alpha possono essere impostati separatamente per each object che si sposta in / fuori della pagina)

    4. Esistono poche righe di copia / incolla da aggiungere a onCreate della tua attività ( onCreate al README per le righe esatte)

    animazione del pianeta parallasse

    Date un'occhiata a questa piccola libreria che ho creato – è una sottoclass di ViewPager, che non richiede alcuna configuration aggiuntiva per funzionare l'effetto parallasse.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.