verticalmente titulo texto notas justificar imagen derecha cómo contenido como centrar bloc alinear ala xml android layout

xml - titulo - Centrar un botón en un diseño lineal



cómo centrar el texto en html (18)

Estoy utilizando un diseño lineal para mostrar una pantalla inicial bastante ligera. Tiene 1 botón que se supone que se centra en la pantalla tanto horizontal como verticalmente. Sin embargo, no importa lo que intente hacer, el botón alineará la parte superior del centro. He incluido el XML a continuación, ¿puede alguien apuntarme en la dirección correcta?

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageButton android:id="@+id/btnFindMe" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical|center_horizontal" android:background="@drawable/findme"></ImageButton> </LinearLayout>


¿Ha intentado definir android:gravity="center_vertical|center_horizontal" dentro del diseño y configuración de android:layout_weight="1" en la imagen?


¿Intentaste esto?

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mainlayout" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="5px" android:background="#303030" > <RelativeLayout android:id="@+id/widget42" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" > <ImageButton android:id="@+id/map" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="map" android:src="@drawable/outbox_pressed" android:background="@null" android:layout_toRightOf="@+id/location" /> <ImageButton android:id="@+id/location" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="location" android:src="@drawable/inbox_pressed" android:background="@null" /> </RelativeLayout> <ImageButton android:id="@+id/home" android:src="@drawable/button_back" android:background="@null" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" /> </RelativeLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="5px" android:orientation="horizontal" android:background="#252525" > <EditText android:id="@+id/searchfield" android:layout_width="fill_parent" android:layout_weight="1" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:background="@drawable/customshape" /> <ImageButton android:id="@+id/search_button" android:src="@drawable/search_press" android:background="@null" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" /> </LinearLayout> <com.google.android.maps.MapView android:id="@+id/mapview" android:layout_weight="1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:clickable="true" android:apiKey="apikey" /> </TableLayout>


Agrega esto

android:gravity="center"

En LinearLayout.


Centro usando un LinearLayout:

<LinearLayout android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical" > <ImageButton android:id="@+id/btnFindMe" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/findme" /> </LinearLayout>


Establézcalo en true android:layout_alignParentTop="true" y android:layout_centerHorizontal="true" en el botón, de esta manera:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/switch_flashlight" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/turn_on_flashlight" android:textColor="@android:color/black" android:onClick="action_trn" android:background="@android:color/holo_green_light" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:padding="5dp" /> </RelativeLayout>


Muestra completa y operativa de mi máquina ...

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context=".MainActivity" android:gravity="center" android:textAlignment="center"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="My Apps!" android:id="@+id/textView" android:gravity="center" android:layout_marginBottom="20dp" /> <Button android:layout_width="220dp" android:layout_height="wrap_content" android:text="SPOTIFY STREAMER" android:id="@+id/button_spotify" android:gravity="center" android:layout_below="@+id/textView" android:padding="20dp" /> <Button android:layout_width="220dp" android:layout_height="wrap_content" android:text="SCORES" android:id="@+id/button_scores" android:gravity="center" android:layout_below="@+id/textView" android:padding="20dp" /> <Button android:layout_width="220dp" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="LIBRARY APP" android:id="@+id/button_library" android:gravity="center" android:layout_below="@+id/textView" android:padding="20dp" /> <Button android:layout_width="220dp" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="BUILD IT BIGGER" android:id="@+id/button_buildit" android:gravity="center" android:layout_below="@+id/textView" android:padding="20dp" /> <Button android:layout_width="220dp" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="BACON READER" android:id="@+id/button_bacon" android:gravity="center" android:layout_below="@+id/textView" android:padding="20dp" /> <Button android:layout_width="220dp" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="CAPSTONE: MY OWN APP" android:id="@+id/button_capstone" android:gravity="center" android:layout_below="@+id/textView" android:padding="20dp" /> </LinearLayout>


Puedes usar el RelativeLayout .


Según la documentación de Android para los atributos XML de android:layout_gravity , podemos hacerlo fácilmente :)

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageButton android:id="@+id/btnFindMe" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@drawable/findme"></ImageButton> </LinearLayout>


Sería más fácil usar diseños relativos, pero para diseños lineales, generalmente me centro al asegurarme de que el ancho coincida con el padre:

android:layout_width="match_parent"

y luego simplemente da márgenes a derecha e izquierda en consecuencia.

android:layout_marginLeft="20dp" android:layout_marginRight="20dp"


Si desea centrar un elemento en el centro de la pantalla, no use un LinearLayout ya que están diseñados para mostrar una cantidad de elementos en una fila.

Utilice un RelativeLayout lugar.

Así que reemplace:

android:layout_gravity="center_vertical|center_horizontal"

para la opción RelativeLayout relevante:

android:layout_centerInParent="true"

Entonces tu archivo de diseño se verá así:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:id="@+id/RelativeLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <ImageButton android:id="@+id/btnFindMe" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:background="@drawable/findme"></ImageButton> </RelativeLayout>


Si usas LinearLayout puedes agregar el centro de gravedad:

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center"> <Button android:layout_width="200dp" android:layout_height="wrap_content" /> </LinearLayout>`


También puede establecer el ancho de LinearLayout en wrap_content y usar android:layout_centerInParent , android:layout_centerVertical="true" :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_centerInParent="true" android:layout_centerHorizontal="true" android:layout_centerVertical="true" > <ImageButton android:id="@+id/btnFindMe" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/findme"/>


También puedes probar este Código:

<LinearLayout android:id="@+id/linear_layout" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_gravity="center" android:orientation="horizontal" android:weightSum="2.0" android:background="@drawable/anyBackground" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:orientation="vertical" android:layout_weight="1" > <ImageView android:id="@+id/img_mail" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@drawable/yourImage" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:orientation="vertical" android:layout_weight="1" > <ImageView android:id="@+id/img_save" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="center" android:background="@drawable/yourImage" /> </LinearLayout> </LinearLayout>


Un método comúnmente utilizado que funciona con diseño lineal es establecer una propiedad en el botón de imagen

android:layout_gravity="center"

Puede elegir si alinear a la izquierda, alinear en el centro o alinear a la derecha cada objeto en el diseño lineal. Tenga en cuenta que la línea anterior es exactamente la misma que

android:layout_gravity="center_vertical|center_horizontal"


fácil con esto

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:visibility="visible" android:gravity="center" android:orientation="vertical" > <ProgressBar android:id="@+id/pbEndTrip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:gravity="center" android:text="Gettings" /> </LinearLayout>


solo usa (para hacerlo en el centro de tu diseño)

android:layout_gravity="center"

y use

android:layout_marginBottom="80dp" android:layout_marginTop="80dp"

cambiar de posicion


utilizar

android: layout_centerHorizontal = "true"


<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageButton android:id="@+id/btnFindMe" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity = "center" android:background="@drawable/findme"> </ImageButton> </LinearLayout>

El código anterior funcionará.