使用ImageButton就可以实现,代码如下:
android:layout_height="wrap_content"
android:scaleType="center"//将控件中的图片属性定义为居中显示
android:src="@drawable/xxx" />
下面是scaleType的几种属性的含义:
ImageView.ScaleType.CENTER|android:scaleType="center" 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
ImageView.ScaleType.CENTER_CROP|android:scaleType="centerCrop" 按比例扩大图片的size居中显示,使得图片长 (宽)等于或大于View的长(宽)
ImageView.ScaleType.CENTER_INSIDE|android:scaleType="centerInside" 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长(宽)等于或小于View的长(宽)
ImageView.ScaleType.FIT_CENTER|android:scaleType="fitCenter" 把图片按比例扩大(缩小)到View的宽度,居中显示
ImageView.ScaleType.FIT_END|android:scaleType="fitEnd" 把图片按比例扩大(缩小)到View的宽度,显示在View的下部分位置
ImageView.ScaleType.FIT_START|android:scaleType="fitStart" 把图片按比例扩大(缩小)到View的宽度,显示在View的上部分位置
ImageView.ScaleType.FIT_XY|android:scaleType="fitXY" 把图片按照指定的大小在View中显示
ImageView.ScaleType.MATRIX|android:scaleType="matrix" 用matrix来绘制
background就是会拉伸图片的 如果不想,可以用ImageView、ImageButton来代替
但是不能设置文字,如果还想设置文字,那么可以建一个相对布局,放入ImageButton,再放入textview,
drawableLeft,意思是将图片放入button哪边,相应的还有drawableTop等
使用ImageButton,
android:layout_height="wrap_content"
android:scaleType="center"
android:src="@drawable/xxx" />