12

Creazione di un'attività con cassetto navigazione in Android Studio fa sì che questo sia illustrato nel codice XML:Qual è lo scopo degli strumenti: openDrawer = "start" quando si crea un DrawerLayout (con NavigationView) dalla procedura guidata?

<android.support.v4.widget.DrawerLayout 
    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/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:openDrawer="start"> 

Se rimuovo il tools:openDrawer="start", sul layout anteprima, il cassetto di navigazione sarà chiuso anziché aperto.

Ho pensato che si trattasse di un attributo di sostituzione, simile a android:text che può essere sostituito con tools:text per inserire del testo segnaposto nell'anteprima del layout. Ma quando lo cambio su android:openDrawer o app:openDrawer, l'app non può essere compilata perché sono attributi sconosciuti.

Quindi mi chiedo come funziona tools:openDrawer e se è documentato ovunque.

+2

Non ho capito di cosa si tratta. Se aggiungi 'tools: openDrawer =" start "' al tuo 'DrawerLayout' nella schermata di anteprima nella schermata IDE verrà mostrato con il cassetto aperto. Se rimuovi quella linea, lo schermo verrà mostrato con un cassetto chiuso. Gli strumenti ':: ...' sono usati solo per le anteprime (mostrando del testo, ecc.). Hai provato 'android' e' app' perché volevi aprire il cassetto sullo schermo o solo curioso? – krossovochkin

+0

Che dire di documenti: Penso che tutto cambi troppo velocemente, quindi i documenti potrebbero essere un po 'obsoleti – krossovochkin

+0

@krossovochkin Sono curioso a causa della mancanza di documentazione per le recenti librerie di supporto Android.È davvero molto difficile trovare una documentazione ufficiale e elaborata per i nuovi widget. – yuku

risposta

10

Android ha un namespace XML dedicato destinato a strumenti per essere in grado di registrare informazioni in file XML, e che hanno messo a nudo le informazioni quando l'applicazione è confezionato in modo tale che non v'è alcuna fase di esecuzione o pena di scaricare dimensioni. Lo spazio dei nomi URI è http://schemas.android.com/tools e di solito è legato agli strumenti: prefisso:

Questo significa che l'attributo tools è utilizzato dall'IDE e non utilizzati nella funzionalità del codice.

Sto ancora cercando di trovare la documentazione completa di tutti gli attributi tools. Non riesco a trovare l'attributo openDrawer ovunque. Ma i seguenti sono grandi documentazione tools:

http://tools.android.com/tech-docs/tools-attributes
http://tools.android.com/tips/layout-designtime-attributes


UPDATE

Ora una documentazione completa di tutti tools attributo è disponibile here.

10

Rende il cassetto di navigazione visibile nella schermata di anteprima in Android Studio, essenzialmente imitando l'utente che fa scorrere il cassetto sullo schermo.

Senza questo attributo, si vedrebbe solo la visualizzazione del contenuto della schermata principale.

Non l'ho provato ma ho il sospetto che sostituire "start" per "end" renderebbe il cassetto sulla destra dello schermo aperto (supponendo che ce ne sia uno ovviamente).