android小记之自定义ImageView
最近,BOSS拍板了,要做个拍照以后的图片FTP上传功能。
BOSS发话了,就可以动手呗。
按照用HTML结合CSS的话,有点审美的,就可以制作漂亮的相框了。
但我突然发现android的ImageView的属性太不给力了,别说漂亮的相框,连加个边框都难。
还好,android具有灵活多变的编码风格,可以自定义ImageView。为了简洁,下面的例子只是在ImageView上加了个边框而已,望启到抛砖引玉的效果。
首先,重写ImageView。
[java]
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文件中直接引用。
[html]
<org.xxx.picUpload.util.MyImageView
android:id="@+id/imageView"
android:layout_width="400px"
android:layout_height="200px"/>
有图有易做图(图片预览):
摘自 Scott 的专栏
补充:移动开发 , Android ,