按照用HTML結合CSS的話,有點審美的,就可以制作漂亮的相框了。
但我突然發現Android的ImageView的屬性太不給力了,別說漂亮的相框,連加個邊框都難。
還好,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"/>
有圖有真相(圖片預覽):