展会信息港展会大全

android小记之自定义ImageView
来源:互联网   发布日期:2015-10-03 11:24:28   浏览:1040次  

导读:最近,BOSS拍板了,要做个拍照以后的图片FTP上传功能。BOSS发话了,就可以动手呗。按照用HTML结合CSS的话,有点审美的,就可以制作漂亮的相框了。但我突然发现andr...

最近,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开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港