android小记之自定义ImageView
10178 点击·0 回帖
![]() | ![]() | |
![]() | 最近,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"/> 有图有真相(图片预览): ![]() | |
![]() | ![]() |