当前位置:操作系统 > 安卓/Android >>

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 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,