Imagen de la imagen del botón de Android en el centro y el texto en la parte inferior

Quiero colocar la imagen en el centro y el texto justo debajo de él en un botón, traté de establecer android: la gravedad, pero no podía establecerlo correctamente, aquí está la imagen adjunta:

Introduzca aquí la descripción de la imagen

Abajo está mi xml:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingLeft="10.0dip" android:paddingTop="10.0dip" android:paddingRight="10.0dip" android:paddingBottom="10.0dip" android:background="@drawable/background_img" > <LinearLayout android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="1" android:orientation="horizontal" android:paddingLeft="10.0dip" android:paddingTop="10.0dip" android:paddingRight="10.0dip" android:paddingBottom="10.0dip" > <Button android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="1" android:id="@+id/button_listen" android:text="@string/listen" android:drawableTop="@drawable/listen_btn" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" android:layout_gravity="center" /> <Button android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="1" android:id="@+id/button_gallery" android:text="@string/gallery" android:drawableTop="@drawable/gallery_btn" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" android:layout_gravity="center" /> </LinearLayout> <LinearLayout android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="1" android:orientation="horizontal" android:paddingLeft="10.0dip" android:paddingTop="10.0dip" android:paddingRight="10.0dip" android:paddingBottom="10.0dip" > <Button android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="1" android:id="@+id/button_play" android:text="@string/play" android:drawableTop="@drawable/play_btn" android:layout_marginLeft="10dp" android:layout_gravity="center" android:layout_marginRight="10dp" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" /> <Button android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="1" android:id="@+id/button_find" android:text="@string/find" android:drawableTop="@drawable/test_btn" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" android:layout_gravity="center" /> </LinearLayout> </LinearLayout> 

¿Cuál es la forma correcta de centrar la imagen y el texto debajo?

Muchas gracias de antemano.

Pruebe este su trabajo para mí

 <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" tools:context=".MainActivity" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="151dp" android:onClick="onClick" android:drawableTop="@drawable/ic_launcher" android:text="Button" /> </RelativeLayout> 

Intente cambiar el botón a LinearLayout y utilice mismo onclicklistener en fakebutton

  <LinearLayout android:id="@+id/fakeButton" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" android:gravity="center_vertical|center_horizontal" android:orientation="vertical" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/icon_big_evento" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/menu_about" /> </LinearLayout> 

He seguido los comentarios de DjHacktorReborn y he hecho el diseño, aquí está el congelado

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/background_img" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical" android:weightSum="10" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="4.1" android:orientation="vertical" > </LinearLayout> <TableLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="2" android:orientation="horizontal" android:stretchColumns="*" > <TableRow android:layout_weight="1" > <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/button_listen" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerInParent="true" android:background="@drawable/main_list" android:paddingTop="90dp" android:text="@string/listen" android:textStyle="bold" android:textColor="#FFFFFF" /> <ImageView android:id="@+id/main_icon_content_image_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:src="@drawable/listen_btn" /> </RelativeLayout> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/button_gallery" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/main_list" android:paddingTop="90dp" android:text="@string/gallery" android:textStyle="bold" android:textColor="#FFFFFF" /> <ImageView android:id="@+id/main_icon_schedule_image_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:src="@drawable/gallery_btn" /> </RelativeLayout> </TableRow> <TableRow android:layout_weight="1" > <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/button_play" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/main_list" android:ellipsize="marquee" android:paddingTop="90dp" android:text="@string/play" android:textStyle="bold" android:textColor="#FFFFFF" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:src="@drawable/play_btn" /> </RelativeLayout> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/button_find" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/main_list" android:paddingTop="90dp" android:text="@string/find" android:textStyle="bold" android:textColor="#FFFFFF" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:src="@drawable/test_btn" /> </RelativeLayout> </TableRow> </TableLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="4.1" android:orientation="vertical" > </LinearLayout> </LinearLayout> </LinearLayout> 

Aquí está el resultado actualizado

Introduzca aquí la descripción de la imagen

Gracias por las sugerencias

  • Android: Iniciar actividad desde un texto que se puede hacer clic
  • Destacando el color del texto usando Html.fromHtml () en Android?
  • Cómo configurar el texto en el centro en la aplicación ListView android?
  • Cambiar el texto de un botón dentro de un ListView en Android
  • Metaio sdk (openGL) frena la representación de fuente y de imagen
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.