Sto cercando di centrare un pulsante nel layout relativo, è possibile? Ho provato le funzioni Gravità e Orientamento ma non fanno nulla.
Sto cercando di centrare un pulsante nel layout relativo, è possibile? Ho provato le funzioni Gravità e Orientamento ma non fanno nulla.
Risposte:
Provare
android:layout_centerHorizontal="true"
Esattamente così, funziona per me:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff0000">
<Button
android:id="@+id/btn_mybutton"
android:layout_height="wrap_content"
android:layout_width="124dip"
android:layout_marginTop="5dip"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
Puoi utilizzare CENTER_IN_PARENT per il layout relativo.
Aggiungi android:layout_centerInParent="true"
all'elemento che vuoi centrare in RelativeLayout
Arcadia, prova il codice qui sotto. Esistono diversi modi per ottenere il risultato che stai cercando, questo è uno dei modi più semplici.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relative_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center">
<Button
android:id="@+id/the_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Centered Button"/>
</RelativeLayout>
L'impostazione della gravità del RelativeLayout stesso influenzerà tutti gli oggetti posti al suo interno. In questo caso, è solo il pulsante. Ovviamente puoi utilizzare qualsiasi impostazione di gravità qui (ad es. Center_horizontal, in alto, a destra e così via).
Puoi anche usare questo codice qui sotto:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relative_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/the_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Centered Button"
android:layout_centerInParent="true"/>
</RelativeLayout>
riassunto
Aggiunta:
android:layout_centerInParent="true"
funziona solo su RelativeLayout, se per la vista è impostato anche uno dei seguenti attributi:
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
che allinea la vista figlio alla vista padre. Il "centro" si basa sull'asse dell'allineamento che hai scelto:
sinistra / destra -> verticale
alto / basso -> orizzontale
Impostazione della gravità dei bambini / contenuti all'interno della vista:
android:gravity="center"
centra comunque il figlio all'interno della vista padre, se non è stato impostato alcun allineamento. Opzionale puoi scegliere:
<!-- Axis to Center -->
android:gravity="center_horizontal"
android:gravity="center_vertical"
<!-- Alignment to set-->
android:gravity="top"
android:gravity="bottom"
android:gravity="left"
android:gravity="right"
android:gravity="fill"
...
Poi c'è:
android:layout_gravity="center"
che sta centrando la vista stessa all'interno del suo genitore
E infine puoi aggiungere il seguente attributo alla vista genitori:
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
Utilizzare l'attributo android:centerInParent="true"
all'interno di una vista per centrare la vista nel layout relativo.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NWE"
android:textSize="30dp"/>
</RelativeLayout>
È facile, non allinearlo a nulla
<Button
android:id="@+id/the_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Centered Button"/>
È davvero facile Prova il codice qui sotto,
<RelativeLayout
android:id="@+id/second_RL"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/first_RL"
android:background="@android:color/holo_blue_bright"
android:gravity="center">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</RelativeLayout>
devi averlo allineato a sinistra o a destra della vista padre
non usare nessuno di questi quando si usano i android:centerInParent="true"
codici: -
android:layout_alignParentLeft="true"
android:layout_alignParentLeft="true"
android:layout_alignRight=""
eccetera.