android 5.0 新特性之最近应用程序
来源:互联网 发布:淘宝客怎么拉人 编辑:程序博客网 时间:2024/06/06 12:30
android 5.0新特性之最近应用程序
看到很多介绍android 5.0新特性,而其中的一项吸引了我。
新闻导出都是开放了API,但是自己找起来却无从找起。这篇博文主要介绍如何自定义最近任务。
android5.0以下和5.0以上的对比
相信大多数人都有android设备,而按home键,可以查看最近任务,在5.0以下,其是不可定制的,而在5.0以上的设备,google为我们提供了相关API。
整个item包含了应用的label和launcher图标以及截图。来看看5.0的这些属性位置吧:
默认的配置
让我们看看在android5.0设备上发生了什么,系统会从你的manifest文件中拉取the Overview card’s icon, label and top bar
Icon - android:icon
Label text - android:label
Top Bar Color - colorPrimary value of android:theme
注意,这些参数都是获取你的当前activity属性,如果在manifest中,你的activity并没有相关设置,那么其会获取application的属性。
举个例子:
<application
android:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme"><activity android:label="@string/recent_task_main" android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter></activity>
</application>
其在打开MainActivity的时候,其对应的label会是recent_task_main,而不是app_name。而需要注意的是:其对应的lable只会被第一个开启的activity覆盖,即以后的lable设置不会覆盖Overview Card的lable。lable对应的是app的名字,会展现给用户,对应的android:icon也是展现给用户的图标。如果更改,用户安装可见的图标和标题都会变动。
注意:你的manifest文件中的icon作为Overview Card中的icon是不合适的,因为作为icon,其还是偏大,所以最好的方案是设置不同的icon。
不幸的是manifest并不提供这样的能力,即你如果在activity中设置了android:icon属性,其会覆盖对应的 launcher icon,所以你不能够在xml中设置,你需要在代码中动态设置。
还有个地方需要注意:label的文字颜色是不被配置的,系统会自动为其选择颜色。比如当topbar是黑色的,那么文字就会是白色的,否则字体为黑色。
API
直接贴代码吧:
//sdk必须大于5.0 if (VERSION.SDK_INT < VERSION_CODES.LOLLIPOP){ return; } Resources resources = activity.getResources(); //获取application中的label String label = resources.getString(activity.getApplicationInfo().labelRes); //标题栏颜色必须非透明 int colorPrimary = resources.getColor(R.color.colorPrimary); //因为该方法最好放在baseactivity中,所以如果不将icon设置为静态,其会每次创建 if (sIcon == null){ sIcon = BitmapFactory.decodeResource(resources,R.drawable.ic_gplus_blue); } activity.setTaskDescription(new TaskDescription(label,sIcon,colorPrimary));
activity提供了setTaskDescription方法,其需要TaskDescription实例,而TaskDescription提供了多个构造器,注意color传入必须是非透明。
建议:你的app肯定有BaseActivity,所以你可以在你的base中操作,同时可以新建类,将其设置为静态方法,然后再BaseActivity中调用该静态方法。
- android 5.0 新特性之最近应用程序
- Android开发之Android 5.0新特性
- Android 5.0 新特性之RecyclerView
- Android 5.0新特性之ToolBar
- Android之4.0新特性
- Android新特性之二
- android 5.0新特性
- android 5.0新特性
- Android 5.0新特性
- android 5.0 新特性
- android 5.0 新特性
- Android 5.0新特性
- Android 5.0新特性
- Android 5.0新特性
- Android 5.0新特性
- Android 5.0新特性
- android开发之Android 5.0 Lollipop新特性介绍
- android 5.0新特性学习总结之阴影特效(二)
- navigationController跳转指定页面
- Delphi之virtual,dynamic,abstract
- ASP.NET控件之RadioButtonList
- AJAX应用
- Redis学习总结
- android 5.0 新特性之最近应用程序
- spark java.lang.OutOfMemory, unable to create new native thread
- 【KF8V111控制器】A/D转化配置
- Ubuntu 16.04 安装nltk
- ruby 读写文件
- opencv实现简易画图工具
- redis多个数据源配置
- JS 删除字符串最后一个字符的几种方法
- JavaSE编程基础