Quali sono le nuove funzionalità di Android Design Support Library e come utilizzare il suo Snackbar?

Android M Preview per gli sviluppatori è stato rilasciato ieri. Come al solito, vengono presentate molte nuove funzionalità straordinarie. Ho notato che Snackbar è uno di loro.

Ho letto il documento su Snackbar , da cui ho appreso che Snackbar è nella biblioteca di libreria di supporto per il design di Android, il cui path assoluto è android.support.design.widget.Snackbar .

  • android: onDraw è chiamato costantemente
  • Android Come si ottiene la memory RAM complessiva nel dispositivo?
  • Mono per iOS / Android aperto o chiuso? Pagato o gratuito?
  • Menu di diapositive Android che scorre da entrambi i lati a sinistra ea destra
  • Loop di un file audio
  • Android IntentService non si avvia dopo l'avvio
  • E il documento dice che:

    I snackbar forniscono feedback leggeri su un'operazione. Essi mostrano un breve messaggio nella parte inferiore dello schermo sul cellulare e in basso a sinistra su dispositivi più grandi. Snackbar appaiono sopra tutti gli altri elementi sullo schermo e solo uno può essere visualizzato alla volta.

    Essi scompaiono automaticamente dopo un timeout o dopo l'interazione con gli altri utenti sullo schermo, in particolare dopo interazioni che invocano una nuova superficie o attività. Snackbar può essere spazzato via schermo.

    Così, Snackbar comport come un Toast o un Dialog ? I Snackbars possono essere utilizzati in un file di layout? Come posso utilizzarlo in modo programmato?

    PS:

    • Tutti i campioni sull'uso di Snackbar saranno apprezzati.
    • Libreria di supporto di supporto di Android è una nuova libreria di supporto, qualcuno potrebbe mostrare ulteriori dettagli di questa libreria?

  • bloccare l'orientamento dello schermo androidi al paesaggio
  • Quali sono i vantaggi e gli svantaggi dell'utilizzo di Phonegap e Titanium?
  • Locale Valuta Simbolo
  • Perché non è ansible avviare un AVD da Eclipse con 1024 MB di RAM?
  • Come posso controllare direttamente il mio dispositivo Android con il supporto wifi?
  • Rimuovere l'ombra dalla parte superiore e inferiore di ListView in android?
  • 8 Solutions collect form web for “Quali sono le nuove funzionalità di Android Design Support Library e come utilizzare il suo Snackbar?”

    Il nuovo Snackbar non richiede Android-M .

    È all'interno della nuova libreria di supporto per la progettazione e potrai utilizzarla oggi.

    Basta aggiornare l'SDK aggiungere questa dipendenza nel tuo codice:

     compile 'com.android.support:design:22.2.0' 

    È ansible utilizzare un codice simile a questo:

     Snackbar.make(view, "Here's a Snackbar", Snackbar.LENGTH_LONG) .setAction("Action", null) .show(); 

    È come un Toast.

    immettere qui la descrizione dell'immagine

    Per assegnare un'azione devi impostare l' OnClickListener .

     Snackbar.make(view, "Here's a Snackbar", Snackbar.LENGTH_LONG) .setAction("Action", myOnClickListener) .show(); 

    Se si desidera modificare il colore di background è ansible utilizzare qualcosa di simile:

      Snackbar snackbar = Snackbar.make(view, "Here's a Snackbar", Snackbar.LENGTH_LONG); View snackBarView = snackbar.getView(); snackBarView.setBackgroundColor(colorId); snackbar.show(); 

    immettere qui la descrizione dell'immagine

    Se desideri disporre di alcune funzioni incorporate come il gesto di scorrimento o il FAB che scorri in su lo snackbar, semplicemente avendo un CoordinatorLayout nella tua gerarchia di visualizzazione.

    In Activity è ansible utilizzare:

     String s = "SnackBar" Snackbar.make(findViewById(android.R.id.content), s, Snackbar.LENGTH_LONG).show(); 

    e sul Fragment :

     Snackbar.make(getView(), s, Snackbar.LENGTH_LONG).show(); 

    Edit:

    Per cambiare colore di background uso qualcosa di simile:

     String s = "SnackBar" Snackbar snack = Snackbar.make(getView(), s, Snackbar.LENGTH_LONG); View view = snack.getView(); view.setBackgroundColor(Color.YELLOW); snack.show(); 

    E per cambiare il colore del text (nonostante il tema):

     View view = snack.getView(); TextView tv = (TextView) view.findViewById(android.support.design.R.id.snackbar_text); tv.setTextColor(Color.WHITE); 

    Funziona come un fascino 😉

    Quanto a Snackbar , agisce come un Toast ma è diverso con un Toast . Snackbar sono mostrati nella parte inferiore dello schermo e contengono text con un'azione singola opzionale. Essi automaticamente si allontanano dopo la lunghezza del tempo dato animando lo schermo. Inoltre, gli utenti possono scoraggiarli prima del timeout che è notevolmente più potente dei brindisi, un altro meccanismo di feedback leggero.

    Puoi utilizzarlo in modo programmato come questo:

     Snackbar snackbar = Snackbar .make(parentLayout, R.string.snackbar_text, Snackbar.LENGTH_LONG) .setAction(R.string.snackbar_action, myOnClickListener); snackbar.setActionTextColor(Color.CYAN); View snackbarView = snackbar.getView(); snackbarView.setBackgroundColor(Color.YELLOW);//change Snackbar's background color; TextView textView = (TextView)snackbarView .findViewById(android.support.design.R.id.snackbar_text); textView.setTextColor(Color.BLUE);//change Snackbar's text color; snackbar.show(); // Don't forget to show! 

    Notare l'utilizzo di una vista nel metodo di make()Snackbar cercherà di accertarsi che sia ancorata al suo fondo.

    Inoltre, la libreria di supporto per il design di Android viene utilizzata per Android 2.1+ (API 7+) , che include la visualizzazione del cassetto di navigazione , le etichette flottanti per la modifica del text , il button di azione galleggiante , il snackbar , le tabs e qualcosa di simile.

    Vista di navigazione

    Il cassetto di navigazione può essere un punto focale importnte per l'identity framework; e la navigazione all'interno della tua applicazione e la coerenza del progetto qui può fare una differenza notevole in quanto è facile la tua applicazione per navigare, in particolare per gli utenti di prima volta. NavigationView rende più semplice fornire il framework necessario per il cassetto di navigazione e la possibilità di gonfiare le voci di navigazione attraverso una risorsa di menu.

    Puoi utilizzarlo come questo:

     <android.support.v4.widget.DrawerLayout 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:fitsSystemWindows="true"> <!-- your content layout --> <android.support.design.widget.NavigationView android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" app:headerLayout="@layout/drawer_header" app:menu="@menu/drawer"/> </android.support.v4.widget.DrawerLayout> 

    Per quanto riguarda il menu del cassetto, potrebbe essere:

     <group android:checkableBehavior="single"> <item android:id="@+id/navigation_item_1" android:checked="true" android:icon="@drawable/ic_android" android:title="@string/navigation_item_1"/> <item android:id="@+id/navigation_item_2" android:icon="@drawable/ic_android" android:title="@string/navigation_item_2"/> </group> 

    o:

     <item android:id="@+id/navigation_subheader" android:title="@string/navigation_subheader"> <menu> <item android:id="@+id/navigation_sub_item_1" android:icon="@drawable/ic_android" android:title="@string/navigation_sub_item_1"/> <item android:id="@+id/navigation_sub_item_2" android:icon="@drawable/ic_android" android:title="@string/navigation_sub_item_2"/> </menu> </item> 

    Riceverai callback su elementi selezionati impostando un OnNavigationItemSelectedListener utilizzando setNavigationItemSelectedListener (). In questo modo viene fornito il MenuItem che è stato cliccato, consentendo di gestire gli events di selezione, di modificare lo stato controllato, di caricare nuovi contenuti, di chiudere il cassetto o di qualsiasi altra azione che si desidera.

    Etichette galleggianti per la modifica del text

    Anche l'umile EditText ha spazio per migliorare il design dei materiali. Mentre un EditText da sola nasconde il text di suggerimento dopo che il primo carattere è stato digitato, ora è ansible avvolgerlo in un TextInputLayout , causando che il text di suggerimento diventi un'etichetta floating sopra il text EditText , assicurando che gli utenti non perdano mai il context in quello che stanno immettendo. Oltre a mostrare i suggerimenti, è anche ansible visualizzare un messaggio di errore sotto il text EditText chiamando setError() .

    Pulsante di azione galleggiante

    Un button di azione galleggiante è un button rotondo che indica un'azione primaria dell'interface. La FloatingActionButton della libreria di progettazione fornisce un'unica implementazione coerente, per impostazione predefinita colorata usando il colorAccent dal tuo tema.

    Poiché FloatingActionButton estende ImageView , utilizzerai android:src o uno qualsiasi dei methods come setImageDrawable() per controllare l'icona visualizzata all'interno del FloatingActionButton .

    Tabs

    il model di navigazione di livello superiore viene comunemente utilizzato per organizzare diversi raggruppamenti di contenuti. La TabLayout della libreria di TabLayout implementa entrambe le tabs fisse, in cui la width della vista è suddivisa equamente tra tutte le tabs e le linguette scorrevoli, in cui le tabs non sono uniformi e possono scorrere orizzontalmente.

    Le tabs possono essere aggiunte in modo programmato:

     TabLayout tabLayout = ...; tabLayout.addTab(tabLayout.newTab().setText("Tab 1")); 

    Se si desidera utilizzare ViewPager per paging orizzontale tra le tabs, è ansible creare tabs direttamente dal getPageTitle() PagerAdapter's getPageTitle() e quindi colbind i due insieme utilizzando setupWithViewPager() . Ciò assicura che gli events di selezione delle tabs aggiornino il ViewPager e le modifiche delle pagine aggiorna la scheda selezionata.

    CoordinatorLayout e la barra degli app

    la libreria di design introduce CoordinatorLayout , un layout che fornisce un ulteriore livello di controllo sugli events di contatto tra le viste dei bambini, cosa che molti dei componenti della libreria di progettazione approfittano. Se si tenta di utilizzare un AppBarLayout, la Toolbar e le altre visualizzazioni (ad esempio le tabs fornite da TabLayout ) TabLayout di reactjs a scorrere gli events in una vista di fratello contrassegnata da uno ScrollingViewBehavior. Di conseguenza è ansible creare un layout come:

     <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"> <! -- Your Scrollable View --> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.Toolbar ... app:layout_scrollFlags="scroll|enterAlways"> <android.support.design.widget.TabLayout ... app:layout_scrollFlags="scroll|enterAlways"> </android.support.design.widget.AppBarLayout> </android.support.design.widget.CoordinatorLayout> 

    Ora, mentre l'utente scorre il RecyclerView , l' AppBarLayout può rispondere a tali events utilizzando le bandiere di scorrimento dei bambini per controllare come entrare (scorrere sullo schermo) e uscire (scorrimento dello schermo).

    La libreria di progettazione, AppCompat e tutta la libreria di supporto per Android sono strumenti importnti per fornire i blocchi necessari per build un'applicazione Android moderna e fantastica senza creare tutto da zero.

    Ho impostato la codifica

     Snackbar snackbar = Snackbar .make(getView(), text, Snackbar.LENGTH_INDEFINITE); View sbView = Global.alert.getView(); sbView.setBackgroundColor(0xFF000000); TextView textView = (TextView) sbView.findViewById(android.support.design.R.id.snackbar_text); textView.setTextColor(Color.WHITE); textView.setTextSize(30); Global.alert.show(); 

    Snackbar sono in grado di visualizzare anche icone.

    Ad esempio: per nessuna networking è ansible visualizzare snackbar come questo (come Gmail).

     SpannableStringBuilder builder = new SpannableStringBuilder(); builder.append(" ").setSpan(new ImageSpan(this, R.drawable.snackbar_icon), 0, 1, 0); builder.append(" No Network Available"); Snackbar snackBar = Snackbar.make(findViewById(R.id.co_ordinate), builder, Snackbar.LENGTH_LONG); snackBar.setAction("RETRY", new View.OnClickListener() { @Override public void onClick(View v) { //Retry Code here } }); snackBar.show(); 

    è anche ansible modificare il colore del text e lo background del snackbar

      Snackbar snackbar = Snackbar.make(view, "Text", Snackbar.LENGTH_LONG); View snackBarView = snackbar.getView(); TextView tv = (TextView) snackBarView.findViewById(android.support.design.R.id.snackbar_text); tv.setTextColor(ContextCompat.getColor(MainActivity.this, R.color.colorAccent)); snackBarView.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.colorPrimaryDark)); snackbar.show(); 

    E 'molto semplice fare un snackbar in android per 10 secondi

     Snackbar.make(view, "Hello SnackBar", Snackbar.LENGTH_LONG) .setAction("Its Roy", new View.OnClickListener() { @Override public void onClick(View v) { } }) .setDuration(10000) .setActionTextColor(getResources().getColor(R.color.colorAccent)) .show(); 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.