android 怎样在appwidget中使用动画
来源:互联网 发布:linux vi命令怎么使用 编辑:程序博客网 时间:2024/06/05 14:10
最近做项目是碰到这样一个需求,点击app的icon,app的icon要动起来,正常情况下这个是不可能实现的。想了半天可以通过appwidget来实现,但是查资料发现appwidget
中是不支持Animation的。这里想了一个办法,通过在线程里面不断切换图片来达到动画的效果,这样是可以实现简单动画的,这里简单说明一下是怎么实现的。
首先把图片资源放在一个数组里面。
private int []bitmapId=new int[]{R.drawable.a, R.drawable.b, R.drawable.c,R.drawable.d, R.drawable.e, R.drawable.f, R.drawable.g, R.drawable.h };
再把Bitmap对象保存在ArrayList中
public void initBitmap(){ //显示动态变化过程的bitmap for(int i=0;i<bitmapId.length;i++){ bmplist.add(i, BitmapFactory.decodeResource(getResources(),bitmapId[i])); } }
在线程里面不断切换图片
private class UpdateThread extends Thread { //动画线程 @TargetApi(Build.VERSION_CODES.CUPCAKE) @Override public void run() { while (CleanAppWidgetProvider.isRunAnim) { Log.d(TAG, "UpdateThread"); AppWidgetManager manager = AppWidgetManager.getInstance(UpdateService.this); ComponentName thisWidget = new ComponentName(UpdateService.this, CleanAppWidgetProvider.class); temp++; showClearProcess(temp); if(remoteViews!=null){ remoteViews.setImageViewBitmap(R.id.iv_anim, bmp); //跟更新显示图片 manager.updateAppWidget(thisWidget, remoteViews); //更新appwidget显示 }else { Log.d(TAG, "remoteViews 为空"); } try { // Thread.sleep(5);//线程睡眠时间5ms } catch (Exception e) { // e.printStackTrace(); } } } }
public void showClearProcess(int process){ Log.d(TAG, " process "+ process); bmp=(Bitmap)bmplist.get(tempNum); }注意:如果想要实现复杂的动画,这种方法是行不通的。
阅读全文
0 0
- android 怎样在appwidget中使用动画
- android中Appwidget的使用
- RemoteView 在Notification和AppWidget中使用
- Android中AppWidget的创建和使用
- 怎样在Android中使用Loaders
- Android中AppWidget详解
- android使用AppWidget
- 在Android动画中使用RxJava
- Android中AppWidget加载流程
- Android学习--AppWidget的使用
- 怎样在Android应用中使用百度地图api
- 在Android开发中怎样使用Application类
- 在Android开发中怎样使用Application类
- Android动画效果和怎样使用自定义动画的总结
- Android 中使用动画
- 在AppWidget上使用自定义Typeface
- Android中AppWidget加载流程(一)
- Android中AppWidget加载流程(二)
- Piwik-SDK浅谈
- Spring 定时任务之 @Scheduled cron表达式
- java通过jdbc连接Oracle通过数据库连接池实现增删改查
- Mac上安装Ports
- Java正则表达式的语法与示例
- android 怎样在appwidget中使用动画
- 深度学习实践操作—从小白到大白(三):Linux远程控制
- 7章 链接
- SharePoint 2010 使用Install-SPSolution部署wsp包状态一直是”正在部署”
- 新来的,呵呵
- android hellochart 实时绘制点
- Quartz
- 内网和外网之间的通信(端口映射原理)
- 1.spring基础:spring概述+基础配置+Java配置+AOP