18

La progettazione di siti web materiale parla di un nuovo elemento Toast simile chiamato Snackbar: http://www.google.com/design/spec/components/snackbars-and-toasts.htmlEsiste un codice per gli Snackbar in Android L o ci si aspetta che li implementiamo da soli?

La documentazione Android L anteprima SDK (purtroppo non collegare dal momento che è solo scaricabile) non ha alcuna menzione di Snackbar nelle classi elenca o come modificatore nella documentazione della classe Toast. Mi manca qualcosa di ovvio o dovrei costruire il mio Snackbar.java?

+1

Tenete a mente che L è un'anteprima; solo perché L non ha 'Snackbar' non significa che Android 5.0 (o qualunque cosa sia numerato) non avrà' Snackbar'. – CommonsWare

+0

Lo capisco, ma tutto il resto nuovo ha il codice nell'anteprima SDK, questa sembra essere l'unica cosa che hanno dimenticato o che non avevano pronto o che non avevano intenzione di aggiungere da soli. Vorrei solo sapere se qualcuno ha trovato il codice o ha implementato la propria versione. –

+0

Hmmm ... sembra ancora che manchi dal sdk di produzione. Ho visto blog di altri dipendenti di Google che affermano che potrebbero esserci altri aggiornamenti nel tempo, ma è strano non esserci ancora. –

risposta

24

Aggiornamento 2015/05/29:

Google ha rilasciato una Design Support Library che include un Snackbar e altri widget di Material Design.

La lib di Snackbar menzionata nella risposta originale è ora deprecata.

risposta originale

Sono sicuro che Google finirà per includerlo in un futuro SDK, insieme a un galleggiante pulsante di azione che manca anche nell'anteprima SDK.

Come ha sottolineato @friedrich nietzche, ho implementato una libreria per includere un Snackbar nel progetto.

https://github.com/nispok/snackbar

Speranza che aiuta!

+4

Il supporto per gli snack è stato recentemente aggiunto alla versione 22.2.0 della Libreria di supporto Android: https://developer.android.com/reference/android/support/design/widget/Snackbar.html – ljmelgui

4

FWIW,

Sembrerebbe che non ci sia Snackbar implementazione nel L Developer Preview. Ho anche implementato uno Snackbar library con l'intento di essere il più vicino possibile allo material design guidelines. Grazie.

+0

Non sembra che sia possibile ignorarli facendo scorrere a sinistra/destra, e l'animazione è un po 'strana. –

+0

Questo perché sto seguendo le linee guida sulla progettazione dei materiali. Ignorare scorrendo su/giù non a sinistra/a destra e da dove è stata presa l'animazione. Ecco un video http://material-design.storage.googleapis.com/publish/v_2/material_ext_publish/0B0NGgBg38lWWZFcwa2wyTG1ybE0/components-snackbarstoasts-spec-061302_Mobile_Snackbar_xhdpi_002.webm – MrEngineer13

+0

Beh, questo è strano. agisce come notifiche temporanee, è in grado di essere licenziato, ma ha bisogno di un modo diverso di essere licenziato? –

1

Snackbar è effettivamente solo uno Crouton con alcuni margini. Il Crouton nella sua forma attuale supporta solo l'aggiunta all'avvio (0 ° elemento) di un ViewGroup, tuttavia è possibile trovare il miglioramento "strayan" di Crouton, DownUnderMode, allo my github. Basta stare attenti che la versione ufficiale della libreria Crouton e quella di DownUnderMode siano un po 'fuori sincrono (che si spera possa essere risolto nell'anno 2058 quando viene accettata la richiesta pull di DownUnderMode).

0

Ecco modo semplice da implementare snack in Android

Fase 1. libreria di aggiungere il supporto 23 e compilare il progetto con

compile 'com.android.support:appcompat-v7:23.0.1' 

Fase 2.Aggiungere coordinare il layout nel file attività

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/coordinatorLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity"> 


</android.support.design.widget.CoordinatorLayout> 

Fase 3. Ora aggiungere seguente codice nel tuo MainActivity.java per implementare snack

public class MainActivity extends AppCompatActivity { 

    CoordinatorLayout coordinatorLayout; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinatorLayout); 
     ShowSnack(); 
    } 

    public void ShowSnack() { 
     Snackbar snackbar = Snackbar.make(coordinatorLayout, "Snackbar Label", Snackbar.LENGTH_LONG); 
     snackbar.setAction("Action", new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Toast.makeText(MainActivity.this, "Action", Toast.LENGTH_LONG).show(); 
      } 
     }); 
     snackbar.setActionTextColor(Color.RED); 
     View snackbarView = snackbar.getView(); 
     snackbarView.setBackgroundColor(Color.DKGRAY); 
     TextView textView = (TextView) snackbarView.findViewById(android.support.design.R.id.snackbar_text); 
     textView.setTextColor(Color.YELLOW); 
     snackbar.show(); 
    } 
} 

Spero che questo funzionerà per voi.

Per ulteriori tutorial di Android si prega di seguire questo blog: Trinity Tuts

Problemi correlati