Androidbutton将图片放在中间,文字放在底部

我想把图片放在中间,下面的文字放在一个button中,我试图设置android:gravity,但是设置不正确,下面是附加的图片:

在这里输入图像说明

下面是我的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> 

图像和文字置于下方的正确方法是什么?

提前谢谢了。

Solutions Collecting From Web of "Androidbutton将图片放在中间,文字放在底部"

试试这个为我工作

 <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> 

尝试将button更改为LinearLayout,并在伪button上使用相同的onclicklistener

  <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> 

我遵循了DjHacktorReborn的评论并做了布局,这里是冻结的

 <?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> 

这是更新的结果

在这里输入图像说明

感谢您的build议