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"/>有图有真相(图片预览):
转自:http://blog.csdn.net/baolong47/article/details/7301160