Android自定义Drawable实现圆形头像

来源 :俪人·教师版 | 被引量 : 0次 | 上传用户:SuperMMX
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  以前看到许多圆形头像是通过自定义ImageView来实现的,现在,只要自定义Drawable,几行代码即可实现效果:
  代码如下:
  public class RoundImageDrawable extends Drawable {
  private Paint myPaint;
  private Bitmap bitmap;
  private int width;
  public RoundImageDrawable(Bitmap bitmap){
  this.bitmap=bitmap;
  myPaint =new Paint();
  BitmapShader bs =new BitmapShader(bitmap, TileMode.CLAMP, TileMode.CLAMP);//设置以何种方式重复
  myPaint.setAntiAlias(true);
  myPaint.setShader(bs);
  //取宽高中较小的一个作为直径,当然为了防止OOM可以先用BitmapFactory.options解析一下压缩图片
  width =Math.min(bitmap.getWidth(), bitmap.getHeight());
  }
  //注意不是自定义View,不是复写OnDraw()方法
  @Override
  public void draw(Canvas canvas) {
  // TODO Auto-generated method stub
  canvas.drawCircle(width/2, width/2,width/2, myPaint);
  //这里是圆心和半径,并指定画笔
  }
  @Override
  public int getIntrinsicWidth() {
  // TODO Auto-generated method stub
  return width;
  }
  @Override
  public int getIntrinsicHeight() {
  // TODO Auto-generated method stub
  return width;
  }
  @Override
  public void setAlpha(int alpha) {
  // TODO Auto-generated method stub
  myPaint.setAlpha(alpha);
  }
  @Override
  public void setColorFilter(ColorFilter cf) {
  // TODO Auto-generated method stub
  myPaint.setColorFilter(cf);
  }
  @Override
  public int getOpacity() {
  // TODO Auto-generated method stub
  return PixelFormat.TRANSLUCENT;
  }
  }
  是不是很简单呢?用法更简单:
  img=(ImageView) findViewById(R.id.image);
  img.setImageDrawable(new RoundImageDrawable(BitmapFactory.decodeResource(getResources(), R.drawable.资源ID)));
  以后再想使用圆形头像再也不用使用第三方库了!
其他文献
选择23周龄蛋鸡2688羽分成4组,分别饲喂不同蛋白质水平的日粮,其中第一组为对照组,第二,第三,四组为根据可利用氨基酸配制而成的低蛋白日粮。结果表明,第二,三,四组产蛋重分别比对照组低2.89/g日,只
【摘 要】十八届三中全会吹响了全面深化改革的集结号,标志改革全面步入深水区、攻坚期。随着改革的深入,群众在享受改革开放成果的同时,也受到一些社会现象和问题的困扰。特别在互联网高度发达的今天,社会已步入“全媒体”时代。在这个特殊阶段,如何进一步巩固党报传统媒体的舆论主阵地,更好地承担起“正能量”传播引导者的作用,更好地团结凝聚人心,显得极为关键。  本文站在党报的角度,从把握正确导向、弘扬主旋律,在
【摘 要】语文课堂教学之“情境创设”,对本节课的教学起着十分重要的作用。“情境创设”得当、贴题,就会把学生直接引入本课要学习的内容之中,学生就会沿着教师创设的“情境”去学习、理解、探究课文内容,这要比不创设情境或者创设不当好得多,其教学效果自然是“事半功倍”。  【关键词】方法途径 激起情趣 提高效率  语文课堂教学,离不开“情境创设”,而很多语文老师却忽视了这一点,一进课堂直奔课文,要么教师范读
【摘 要】高职会计电算化专业课程体系的开发要在适应高职教育的基本要求、把握专业的基本特征的基础上展开。首先要通过满足就业职业岗位群的任职需要序化、整合课程内容。其次要通过构建专业实践项目课程系统,系统的培养学生的职业技能,突出专业技能训练与实际会计工作相协调。再次要注重理论课程与实践课程并重,构建专业理论知识课程系统。最后要考虑学生可持续发展能力的培养,根据相关职业资格考试课程来设置教学课程,并将
【摘要】现代教育心理研究表明,兴趣与学习的关系非常密切,只要有兴趣,学生就不会觉得学习是一件乏味之事。通过教师的愉快教学,学生无需有意识的努力就能保持专注的注意力和盎然的学习兴趣,日久天长,学生 就会逐渐形成对学习的“持久兴趣”。持久兴趣愈浓,学习动机就愈强,努力程度也会愈高,从而彻底消除学 生在学习过程中的焦虑感和疲倦感,在愉快的感受中做学习的主人,满怀信心地进取、向上。  【关键词】气氛 情境
【摘要】随着新一轮的课程改革,原有的教学理念已经不适合现在的课堂教学。特别是生物学这门集生活和实验于一体的课程,情境设计在教学中的重要性不言而喻。本文就具体从三个教学实例来阐述好的情境设计在教学过程的发挥的作用关键词:课堂效率情境设计学生在教学过程中,提问是每个老师提高课堂效率,增加师生互动的必备手段好的问题能激发学生强烈的好奇心和求知欲,让学生在与其他人的思维碰撞中充分发挥自己的潜能,并全身心的