代码实现:


private ImageView mImageView;

private TextView tView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mImageView=(ImageView)findViewById(R.id.image);
tView=(TextView)findViewById(R.id.tv);
setImage();
}


public void setImage(){
Bitmap bm = BitmapFactory.decodeResource(getResources(),R.drawable.icon);
Drawable[] array = new Drawable[3];
array[0] = new PaintDrawable(Color.BLUE); //黑色
array[1] = new PaintDrawable(Color.WHITE); //白色
array[2] = new BitmapDrawable(bm); //位图资源
LayerDrawable ld = new LayerDrawable(array); //参数为上面的Drawable数组
ld.setLayerInset(0, 1, 1, 1, 1); //第一个参数1代表数组的第二个元素,为白色
ld.setLayerInset(1, 2, 2, 2, 2); //第一个参数1代表数组的第二个元素,为白色
ld.setLayerInset(2, 3, 3, 3, 3); //第一个参数2代表数组的第三个元素,为位图资源
// mImageView.setBackgroundResource(R.drawable.icon);
mImageView.setImageDrawable(ld);

}



资源文件实现:

首先创建一个drawalbe/login_head.xml的文件,内容如下:

Xml代码
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <layer-list
  3. xmlns:android="http://schemas.android.com/apk/res/android">
  4. <itemandroid:id="@+id/user_faceback_drawable"android:drawable="@drawable/faceback"/>
  5. <itemandroid:id="@+id/user_face_drawable"android:drawable="@drawable/h001"android:left="10.0dip"android:top="18.0dip"android:right="25.0dip"android:bottom="35.0dip"/>
  6. </layer-list>

然后就可以使用这个组合的图片了,比如在ImageView中显示:
<ImageView android:id="@+id/faceImg" android:background="@drawable/login_head"
android:layout_width="wrap_content" android:layout_height="wrap_content" />


更多相关文章

  1. android 在SDCard获取图片
  2. 在android里保存数据的三种形式(Saving Data)
  3. Android(安卓)解析excel文件
  4. Android(安卓)InputStream与String,Byte之间互转
  5. Android(安卓)实现一个http 带参数登录
  6. Android学习笔记(二十)
  7. mybatisplus的坑 insert标签insert into select无参数问题的解决
  8. 箭头函数的基础使用
  9. Python技巧匿名函数、回调函数和高阶函数

随机推荐

  1. 一步为你的Springboot应用自定义banner
  2. 工厂模式理解了没有?
  3. 你的Springboot应用到底启动了哪些bean?这
  4. 单例模式的十种写法,你会几个?
  5. 我在一个构造方法中写了30个参数,老板看了
  6. android:windowSoftInputMode属性详解以
  7. 一个GCRoot不可达的对象,会立刻被垃圾回收
  8. 压缩两个集合,方法原来这么多(实用技巧)
  9. 为什么推荐使用for-each而不是for循环遍
  10. Android源码50例汇总,欢迎各位下载