Android 自定义 ImageView

openkk 13年前

android具有灵活多变的编码风格,可以自定义ImageView。为了简洁,下面的例子只是在ImageView上加了个边框而已,望启到抛砖引玉的效果。

首先,重写ImageView。

package org.xxx.picUpload.util;        import android.content.Context;  import android.graphics.Canvas;  import android.graphics.Color;  import android.graphics.Paint;  import android.graphics.Rect;  import android.util.AttributeSet;  import android.widget.ImageView;    public class MyImageView extends ImageView {      public MyImageView(Context context) {    super(context);    // TODO Auto-generated constructor stub   }     public MyImageView(Context context, AttributeSet attrs,     int defStyle) {    super(context, attrs, defStyle);    // TODO Auto-generated constructor stub   }     public MyImageView(Context context, AttributeSet attrs) {    super(context, attrs);    // TODO Auto-generated constructor stub   }      @Override   protected void onDraw(Canvas canvas) {   //这里就是重写的方法了,想画什么形状自己动手    // TODO Auto-generated method stub    super.onDraw(canvas);        // 画边框    Rect rec = canvas.getClipBounds();    rec.bottom--;    rec.right--;    Paint paint = new Paint();    paint.setColor(Color.GRAY);   //颜色    paint.setStyle(Paint.Style.STROKE);    paint.setStrokeWidth(5);    canvas.drawRect(rec, paint);   }     }
然后 在xml文件中直接引用。
  <org.xxx.picUpload.util.MyImageView      android:id="@+id/imageView"          android:layout_width="400px"      android:layout_height="200px"/>
有图有真相(图片预览):

Android 自定义 ImageView

转自:http://blog.csdn.net/baolong47/article/details/7301160