易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
软件资源
软件开发
、
小程序制作
、
系统集成与运维
、
空间租用
、
硬件开发
、
视频监控
、
技术咨询与支持
——联系电话:0311-88999002/88999003
首页
/
操作系统
/
Linux
/
Android简单的广告控件View
在布局文件中引用此View控件即可。
public
class
GGView
extends
View {
int
COMPONENT_WIDTH;
// 该控件宽度
int
COMPONENT_HEIGHT;
// 该控件高度
boolean
initflag =
false
;
// 是否要获取控件的高度和宽度标志
static
Bitmap[] bma;
// 需要播放的图片的数组
Paint paint;
// 画笔
int
[] drawablesId;
// 图片ID数组
int
currIndex =
0
;
// 图片ID数组下标,根据此变量画图片
boolean
workFlag =
true
;
// 播放图片线程标志位
public
GGView(Context father, AttributeSet as) {
// 构造器
super
(father, as);
drawablesId =
new
int
[] {
// 初始化图片ID数组
R.drawable.adv1,
// 将需要播放的图片ID放于此处即可
R.drawable.adv2, R.drawable.adv3, };
bma =
new
Bitmap[drawablesId.length];
// 创建存放图片的数组
initBitmaps();
// 调用初始化图片函数,初始化图片数组
paint =
new
Paint();
// 创建画笔
paint.setFlags(Paint.ANTI_ALIAS_FLAG);
// 消除锯齿
new
Thread() {
// 创建播放图片线程
public
void
run() {
while
(workFlag) {
currIndex = (currIndex +
1
) % drawablesId.length;
// 改变ID数组下标值
GGView.
this
.postInvalidate();
// 绘制
try
{
Thread.sleep(
3000
);
// 休息三秒
}
catch
(InterruptedException e) {
e.printStackTrace();
}
}
}
}.start();
// 启动线程
}
public
void
initBitmaps() {
// 初始化图片函数
Resources res =
this
.getResources();
// 获取Resources对象
for
(
int
i =
0
; i < drawablesId.length; i++) {
bma[i] = BitmapFactory.decodeResource(res, drawablesId[i]);
}
}
public
void
onDraw(Canvas canvas) {
// 绘制函数
if
(!initflag) {
// 第一次绘制时需要获取宽度和高度
COMPONENT_WIDTH =
this
.getWidth();
// 获取view的宽度
COMPONENT_HEIGHT =
this
.getHeight();
// 获取view的高度
initflag =
true
;
}
int
picWidth = bma[currIndex].getWidth();
// 获取当前绘制图片的宽度
int
picHeight = bma[currIndex].getHeight();
// 获取当前绘制图片的高度
int
startX = (COMPONENT_WIDTH - picWidth) /
2
;
// 得到绘制图片的左上角X坐标
int
startY = (COMPONENT_HEIGHT - picHeight) /
2
;
// 得到绘制图片的左上角Y坐标
canvas.drawARGB(
255
,
200
,
128
,
128
);
// 设置背景色
canvas.drawBitmap(bma[currIndex], startX, startY, paint);
// 绘制图片
}
}
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图