最近,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 的專欄