有这么一个需求:
如上所示左边是文体,右边是图片,中间有间隔。
实现的方式有:
第一种、一个布局中放两个控件:一个是TextView、另一个是ImageView。
第二种、用一个TextView控价,右边用android:drawableLeft插入图片。
在说具体方法之前先说一下Android控件间距的一些参数,如下:
控件间距参数详解
padding:控件中的文字距离本身控件边框的距离
paddingButtom:控件中的文字距离本身控件下边缘距离
【其他方位类同】
margin:控件整体距离相对另外一个控件的距离
marginBottom:控件整体距离父控件底边的距离
【其他方位类同】
android:drawableBottom:在text的下方输出一个drawable,如图片。如果指定一个颜色的话会把text的背景设为该颜色,并且同 时和background使用时覆盖后者。
android:drawableLeft:在text的左边输出一个drawable,如图片。
android:drawablePadding:设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。
android:drawableRight:在text的右边输出一个drawable。
android:drawableTop:在text的正上方输出一个drawable。
具体代码如下:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World"
android:drawableRight="@mipmap/male_icon"
android:drawablePadding="12dp"
android:id="@+id/textView2"
android:layout_marginTop="50dp"/>
第三种方法:java代码动态设置
Drawable drawable = getResources().getDrawable(R.mipmap.woman_icon);
drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight()); //设置边界
mTv.setCompoundDrawables(null, null, drawable, null);//画在右边
That's all.Conclusion end of today. 界面较丑不喜勿喷。