android中自定义appWidget

appWidget虽然只支持有限的几种布局和widget控件,但是利用ImageView可以把AppWidegt做的像View一样画任何东西在上面。

public class Bugs extends AppWidgetProvider{
private static int x=0;
private static int y=0;
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
// TODO Auto-generated method stub
super.onUpdate(context, appWidgetManager, appWidgetIds);
Log.i("Bugs"," time");
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.main);
Time t=new Time();
t.setToNow();
String time="Hour"+t.hour+"Minite:"+t.minute+"Second:"+t.second;
views.setTextViewText(R.id.bug, time);
views.setImageViewBitmap(R.id.bugs, makeDst());
for(int i=0;i<appWidgetIds.length;i++){
appWidgetManager.updateAppWidget(appWidgetIds[i], views);
}


}
//构造一个可变的图片,不断地改变坐标
/*
* 这个函数本身就是在一个线程里面,你可以像一般的做线程一样做!!
*/
static Bitmap makeDst() {

++x;
++y;
if(x>40){
x=0;
y=0;
}
Bitmap bm = Bitmap.createBitmap(240, 60, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bm);
Paint p = new Paint(Paint.ANTI_ALIAS_FLAG);

p.setColor(Color.BLUE);
//c.drawText(s,50,200,p);
c.drawRect(new Rect(x,y,40,40), p);
return bm;
}

}

使用makeDst()函数,自己画一张Bitmap作为xml布局文件中的ImageViewd 的src就可以了
在makeDst里面可以像onDraw()函数一样的绘图
同时可以利用appWidegt的更新来做线程用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值