View.FitSystemWindows(Rect) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Attenzione
deprecated
Chiamato dalla gerarchia di visualizzazione quando gli inset di contenuto per una finestra sono stati modificati, per consentirne la regolazione del contenuto in modo che si adattino all'interno di tali finestre.
[Android.Runtime.Register("fitSystemWindows", "(Landroid/graphics/Rect;)Z", "GetFitSystemWindows_Landroid_graphics_Rect_Handler")]
[System.Obsolete("deprecated")]
protected virtual bool FitSystemWindows(Android.Graphics.Rect? insets);
[<Android.Runtime.Register("fitSystemWindows", "(Landroid/graphics/Rect;)Z", "GetFitSystemWindows_Landroid_graphics_Rect_Handler")>]
[<System.Obsolete("deprecated")>]
abstract member FitSystemWindows : Android.Graphics.Rect -> bool
override this.FitSystemWindows : Android.Graphics.Rect -> bool
Parametri
- insets
- Rect
Gli inset di contenuto corrente della finestra. Prima di android.os.Build.VERSION_CODES#JELLY_BEAN non è necessario modificare gli inset o altrimenti si e Android sarà infelice.
Valori restituiti
true se questa vista ha applicato gli inset e non deve continuare a propagarsi ulteriormente verso il basso nella gerarchia, false in caso contrario.
- Attributi
Commenti
Chiamato dalla gerarchia di visualizzazione quando gli inset di contenuto per una finestra sono stati modificati, per consentirne la regolazione del contenuto in modo che si adattino all'interno di tali finestre. I contenuti inset indicano lo spazio che la barra di stato, il metodo di input e altre finestre di sistema violano la finestra dell'applicazione.
In genere non è necessario gestire questa funzione, poiché la decorazione predefinita della finestra data alle applicazioni si occupa di applicarla al contenuto della finestra. Se si usa #SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN o #SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION questo non sarà il caso, e il contenuto può essere inserito in tali elementi di sistema. È quindi possibile usare questo metodo all'interno della gerarchia di visualizzazione se si dispone di parti dell'interfaccia utente che si vuole assicurarsi di non essere coperte.
L'implementazione predefinita di questo metodo applica semplicemente i contenuti inset alla spaziatura interna della visualizzazione, utilizzando tale contenuto (modificando gli inset come 0) e restituendo true. Questo comportamento è disattivato per impostazione predefinita, ma può essere abilitato tramite #setFitsSystemWindows(boolean).
L'attraversamento di questa funzione verso il basso nella gerarchia è depth-first. Lo stesso oggetto inset di contenuto viene propagato verso il basso nella gerarchia, pertanto tutte le modifiche apportate verranno visualizzate da tutte le viste seguenti (incluse quelle potenzialmente sopra nella gerarchia poiché si tratta di un attraversamento di profondità). La prima visualizzazione che restituisce true interromperà l'intero attraversamento.
L'implementazione predefinita funziona bene per una situazione in cui viene usata con un contenitore che copre l'intera finestra, consentendo di applicare gli inset appropriati al relativo contenuto su tutti i bordi. Se è necessario un layout più complesso (ad esempio due diverse visualizzazioni adattando finestre di sistema, una nella parte superiore della finestra e una nella parte inferiore), è possibile eseguire l'override del metodo e gestire gli inset, tuttavia. Si noti che gli inset forniti dal framework sono sempre relativi ai bordi lontani della finestra, non tenendo conto della posizione della vista chiamata all'interno di tale finestra. Infatti, quando questo metodo viene chiamato non si sa ancora dove verrà posizionata la visualizzazione, come avviene prima che si verifichi il layout.
Nota: a differenza di molti metodi View, non esiste alcuna fase di invio a questa chiamata. Se si esegue l'override in un ViewGroup e si vuole consentire alla chiamata di continuare con gli elementi figlio, è necessario chiamare l'implementazione con privilegi avanzati.
Ecco un layout di esempio che usa finestre di sistema di montaggio per avere controlli per una visualizzazione video posizionata all'interno delle decorazioni finestra che nasconde e mostra. Questa operazione può essere usata con codice come il secondo esempio (lettore video) mostrato in #setSystemUiVisibility(int).
{ }
Questo membro è deprecato. A partire dall'API 20 usare #dispatchApplyWindowInsets(WindowInsets) per applicare gli inset alle visualizzazioni. Le viste devono eseguire l'override o usare #setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener) per implementare #onApplyWindowInsets(WindowInsets) la gestione dei propri inset.
per android.view.View.fitSystemWindows(android.graphics.Rect).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.