2016-02-09 19 views
19

Scopro che siamo in grado di utilizzare flag cool che consentono di scorrere sia la barra degli strumenti che i contenuti utilizzando layout_scrollFlags. Nel mio caso, ho un layout simile a questo:Material design layout_scrollFlags significati

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:layout_scrollFlags="snap" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/tabs" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:tabMode="fixed" 
      app:tabGravity="fill" /> 
    </android.support.design.widget.AppBarLayout> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/viewpager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 
</android.support.design.widget.CoordinatorLayout> 

una delle mie schede è un fragment e la sua disposizione ha un Recycle View con un edittext sotto il RecycleView. in primo luogo voglio sapere cosa significa questo flag

Google dice:

  • SCROLL_FLAG_ENTER_ALWAYS
    Quando si entra (scorrimento sullo schermo) la vista scorrerà su eventuali verso il basso scorrere evento, indipendentemente dal fatto che la vista scorrimento è anche a scorrimento.
  • SCROLL_FLAG_ENTER_ALWAYS_COLLAPSED
    Una bandiera supplementare per 'enterAlways' che modifica la visualizzazione a tornare al solo inizialmente scorrere indietro ad esso è altezza collassato.
  • SCROLL_FLAG_EXIT_UNTIL_COLLAPSED
    All'uscita (scorrimento fe) la visualizzazione verrà scorso fino a quando si 'collassato'.
  • SCROLL_FLAG_SCROLL
    La vista sarà scorrere in relazione diretta agli eventi di scorrimento.
  • SCROLL_FLAG_SNAP
    Su un finale di scorrimento, se la vista è visibile solo parzialmente, allora saranno sciolti e scorrere al suo bordo più vicino.

Ho cambiato questo flag in modo casuale e in alcuni casi il mio testo di modifica è andato via finché non ho fatto scorrere la barra degli strumenti verso l'alto e quindi la modifica è apparsa. Ho letto i documenti di google ma non sono riuscito a farcela. Voglio capirlo in termini semplici.

risposta

45

Non so se la mia risposta sarà ancora rilevante, ma comunque. In realtà i documenti sono abbastanza per capire le cose che vanno in giro, devi solo giocare un po '.
Il flag di scorrimento utilizzato all'interno dell'attributo app:layout_scrollFlags deve essere abilitato affinché gli effetti di scorrimento diventino effettivi. Questo flag deve essere attivato insieme enterAlways, enterAlwaysCollapsed, exitUntilCollapsed o snap:

  • enterAlways: La visualizzazione sarà visibile durante lo scorrimento in su. Questo flag è utile nei casi in cui si scorre dalla parte inferiore di un elenco e si desidera esporre la barra degli strumenti non appena si verifica lo scorrimento verso l'alto.
  • enterAlwaysCollapsed: Normalmente, quando viene utilizzato soloEntralways, la barra degli strumenti continua ad espandersi mentre si scorre verso il basso. Assumendo enterAlways viene dichiarato e si è specificato un minHeight, è inoltre possibile specificare enterAlwaysCollapsed. Quando si usa questa impostazione, la tua vista apparirà solo a questa altezza minima. Solo quando lo scorrimento si estende verso l'alto la vista si espande fino alla sua altezza totale
  • exitUntilCollapsed: Quando il flag di scorrimento è impostato, lo scorrimento verso il basso normalmente causerà lo spostamento dell'intero contenuto.Specificando un minHeight e exitUntilCollapsed, l'altezza minima della Toolbar sarà raggiunta prima che il resto del contenuto inizi a scorrere e ad uscire dallo schermo
  • snap: l'utilizzo di questa opzione determinerà cosa fare quando una vista è stata solo parzialmente ridotto. Se lo scorrimento termina e la dimensione della vista è stata ridotta a meno del 50% dell'originale, questa vista torna alla sua dimensione originale. Se la dimensione è superiore al 50% delle sue dimensioni, scomparirà completamente.

Si prega di dare un'occhiata a questo blog dovrebbe essere veramente utile.

+0

Anche "questa" risposta è stata molto utile. Grazie! :) – Dennis

+0

@Dennis NP, sono felice di aiutarti! –

+0

Il post del blog è stato utile – PerrierCitror

Problemi correlati