android添加任务到最近任务列表

向微信中打开了"(小程序)“后, 可以看到,任务列表不仅显示了"微信”, 还显示了"(小程序)"的入口.
通过这个入口,就可以很方面的切换小程序了, 体验和原生程序也一样。这样的效果如何实现?

微信小程序添加到任务列表实现原理:

Android系统中,显示最近程序列表的View是 RecentsPanelView.
他通过refreshRecentTasksList()加载程序列表,我们来看看代码:
可以看到RecentTasksLoader mRecentTasksLoader负责真正处理数据加载.

private RecentTasksLoader mRecentTasksLoader;  

* * *  

private void refreshRecentTasksList(
    ArrayList<TaskDescription> recentTasksList, boolean firstScreenful) {
   
    if (mRecentTaskDescriptions == null && recentTasksList != null){
   
      onTasksLoaded(recentTasksList, firstScreenful);
    } else {
   
      //加载最近的列表
      mRecentTasksLoader.loadTasksInBackground();
    }
  }

顺着看看RecentTasksLoader的实现:
这里可以清楚看到,加载的数据是ActivityManager.getRecentTasks().
也就是说显示的是Task列表.

 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个仿安卓5.0任务管理器最近打开任务卡片效果的自定义布局。项目地址:https://github.com/ZieIony/MaterialRecents 效果图:如何使用:创建实例2. 设置adapterRecentsList recents = (RecentsList) this.findViewById(R.id.recents); recents.setAdapter(new RecentsAdapter() {             @Override             public String getTitle(int position) {//标题名称                 return "Item "   position;             }             @Override             public View getView(int position) {//内容                 ImageView iv = new ImageView(RecentsActivity.this);                 iv.setImageResource(R.drawable.mazda);                 iv.setBackgroundColor(0xffffffff);                 return iv;             }             @Override             public Drawable getIcon(int position) {//图标                 return getResources().getDrawable(R.drawable.ic_launcher);             }             @Override             public int getHeaderColor(int position) {//header颜色                 return colors[random.nextInt(colors.length)];             }             @Override             public int getCount() {//卡片个数                 return 10;             }         });另外,实例中用到了support v7中的cardview。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值