您应该使用 ImageButton 而不是 Button,因为它为您提供了更好的选项来处理您需要的此类需求,例如:
<ImageButton
android:id = "@+id/Button02"
android:layout_width="127dp"
android:layout_height="35dp"
android:background="@drawable/icon_go_fb"
android:scaleType="centerInside"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:background="@drawable/your_icon"/>
在 scaleType 标签中,您可以设置 7 个不同的值:center、centerCrop、centerInside、fitCenter、fitEnd、fitStart、fitXY以获取不同的比例以使图像适合 imageButton。
编辑:
如果您正在寻找实现一个复杂的按钮,那么我会建议您实现一个布局并为其添加一个 onClickListener,我认为 RelativeLayout 是更好的解决方案,对于图像 + 文本:您可以有这样的东西:
<RelativeLayout
android:id = "@+id/wrapper1"
android:layout_width="fill_parent"
android:layout_height="65dip"
android:orientation="horizontal">
<ImageView
android:id = "@+id/my_Iview"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_centerVertical="true"
android:src = "@drawable/my_image"
/>
<TextView
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_toRightOf="@id/my_Iview"
android:layout_centerVertical="true"
android:layout_marginLeft = "8dip"
android:text = "some_text"
android:textColor="@android:color/white"/>
</RelativeLayout>
然后在活动中为布局设置 onClickListener,就像为按钮设置一样简单。
祝你好运