Voglio mettere un layout al centro dello schermo.Come centrare una vista all'interno di un layout Android?
risposta
È possibile applicare un centraggio a qualsiasi vista, tra cui un layout, utilizzando l'attributo XML Android:. Layout_gravity". Probabilmente si vuole dare il valore 'center'
È possibile trovare un riferimento di possibili I valori per questa opzione qui: http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html#attr_android:layout_gravity
Passo # 1: Wrap qualunque cosa sia che si desidera centrato sullo schermo in un full-schermo RelativeLayout
Passo # 2:. Dare questo punto di vista del bambino (l'uno, che vuoi centrato all'interno dello RelativeLayout
) ilAttributo.
Questo ha funzionato solo per me quando ho inserito l'attributo android: layout_centerInParent = "true" nella vista all'interno di RelativeLayout. –
Cosa fare se si desidera posizionarlo al centro, ma spostarlo verso il basso se esiste il rischio di sovrapposizione con un'altra vista? –
È necessario inserire 'android: layout_centerInParent =" true "' nella vista figlio, non in 'RelativeLayout'. Gli attributi di 'android: layout_ *' influenzano il modo in cui una vista è posizionata e dimensionata all'interno del suo genitore, non come i bambini di una vista sono posizionati e dimensionati al suo interno. – Karu
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<ProgressBar
android:id="@+id/ProgressBar01"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:layout_height="wrap_content"></ProgressBar>
<TextView
android:layout_below="@id/ProgressBar01"
android:text="@string/please_wait_authenticating"
android:id="@+id/txtText"
android:paddingTop="30px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
</RelativeLayout>
Se si desidera centrare una vista, utilizzare questa. In questo caso, TextView deve essere la vista più in basso nel tuo XML perché è layout_height è match_parent.
<TextView
android:id="@+id/tv_to_be_centered"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:gravity="center"
android:text="Some text"
/>
Intendeva mettere il layout al centro, non mettere la vista. –
@IgorG. posizionare un layout e una vista sono gli stessi perché un layout * è una * vista. – FoamyGuy
@Tim Ho pensato che un layout è più simile a un ViewGroup che a un View ... –
sono riuscito a centrare una vista utilizzando
android:layout_centerHorizontal="true"
e
android:layout_centerVertical="true"
params.
Aggiungere android: layout_centerInParent = "true" per elemento che si desidera centrare nel RelativeLayout
Essa opererà per quel codice a volte bisogno di entrambe le proprietà
android:layout_gravity="center"
android:layout_centerHorizontal="true"
risposta Aggiornato: Constraint Layout
Sembra che la tendenza in Android ora sia quella di utilizzare un layout Vincolo. Anche se è abbastanza semplice centrare una vista usando un RelativeLayout
(come hanno mostrato altre risposte), lo ConstraintLayout
è più potente dello RelativeLayout
per i layout più complessi. Quindi vale la pena di imparare come si fa adesso.
Per centrare una vista, è sufficiente trascinare le maniglie su tutti e quattro i lati del genitore.
- 1. Come centrare un NSTextField in una vista
- 2. Come centrare una vista utilizzando RelativeLayout?
- 3. Come centrare una visualizzazione personalizzata su Android?
- 4. Android: ridisegno di una vista specifica all'interno di un layout
- 5. Come centrare il layout all'interno della finestra di dialogo Android?
- 6. Android: vista personalizzata basata sul layout: come?
- 7. Come centrare il contenuto all'interno di un layout lineare?
- 8. Come posso centrare due TextViews verticalmente all'interno di un Layout
- 9. Come centrare due viste in un layout relativo?
- 10. Android/layout: come creare un layout di intestazione-contenuto
- 11. Estensioni Android Kotlin: come ottenere un riferimento a una vista in un layout che viene incluso in un altro layout?
- 12. Android: aggiunta di una vista al layout che determina il layout davanti a ActionBar
- 13. Layout larghezza percentuale Android
- 14. Layout Android che sostituisce una vista con un'altra vista in fase di esecuzione
- 15. Come aggiungere vista riciclo nel layout xml
- 16. Imposta il colore di sfondo di una vista Layout su una sfumatura in Android?
- 17. Come ridimensionare una vista utilizzando il layout automatico di Xcode
- 18. Android: come centrare un pulsante creato in modo programmato?
- 19. Rispetto di una vista in Android - passaggio da un layout all'altro
- 20. android - come rimuovere la vista del layout lineare
- 21. Centrare una vista all'interno della sua superview con Masonry
- 22. Come aggiungere una vista dal basso a un layout di un coordinatore con visualizzazione cercapersone?
- 23. Centrare la vista modale con Autolayout
- 24. Android - ellissi di layout con la vista allineata a destra
- 25. Android- come criptare a livello di programmazione una vista tra le viste nel layout precaricato dall'XML?
- 26. Android: è possibile fare una copia di una vista?
- 27. Layout Android: elemento di posizione sotto la vista più bassa
- 28. aggiornare una vista Android
- 29. Vista personalizzata nel layout xml
- 30. Come determinare la dimensione di una vista Android in pixel?
AFAIK, layout_gravity è solo per LinearLayout, non per i layout arbitrari. – CommonsWare
Come hai detto layout_gravity è solo per LinearLayout e riguardo RelativeLayout perché perché in app voglio incorporare la visualizzazione del testo su ImageView – Vicky
l'ho provato anche con relativelayout e secondo me funziona – ludwigm