android图标成功,Android多启动图标实现
简介
有时候会存在特殊需求:当前的app不同的界面都需要设置为入口进行展示。但是Android系统默认只运行一个app存在一个应用启动图标。其实实现起来一点都不困难。
技术实现
方式一:通过设置属性进行实现多图标
根据官方api介绍,创建app的启动图标实在manifest文件中进行配置的。默认配置:
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
...
其中在application中配置的icon即应用程序的启动图标icon,label字段就是应用程序情动图标的文字描述,而下面的activity中的intent filter节点就是设置启动图标的详情。目前的代码展示了当前MainActivity是启动界面,和普通界面的区别在于设置了category属性为LAUNCHER。
如果需要实现多个启动图标只需要在目标activity或者任一带有ui界面的组件设置intent-filter节点的catgegory属性值为LAUNCHER即可。测试代码:
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
android:name=".Main2Activity">
运行之后可以看到桌面存在两个图标一摸一样的图标:
ssda
但是打开之后的界面确不一样:
152
dsf
目前为止,基本功能实现了。但是我们需要的是桌面显示不同的图标和名称。
由于manifest文件是xml,即符合一般的xml解析规则,当子节点和父节点同时存在某一属性时,子节点属性会覆盖父节点属性。修改代码如下:
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
android:name=".Main2Activity"
android:icon="@drawable/ic01"
android:label="MyTest">
修改了启动图标的icon和名称,运行结果:
ds
可以看到,和样本的效果基本类似。同时发现一个小插曲,当我们在编译运行app时候,会默认打开一个界面。此时我们有两个主界面,怎么指定系统打开界面呢?
很简单,在intent-fiflter节点中添加如下代码即可:
方式二:通过官方api实现多图标
官方api还提供另外一种实现方式:activity-alias 。这种方式是把同一个组件进行别名式操作,对象只有一个,增加了入口而已。
编写方式如下:
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
android:name="TestAc"
android:targetActivity=".MainActivity"
android:label="MyTest2"
android:icon="@drawable/ic012">
...
其中的必须字段为:
name:设置目标activity的名称;
targetActivity:目标activity的全称;
运行效果:
45
此时点击M有Test2跳转的依然是主界面。因为它的目标activity是主界面。
小结
虽然通过以上方式我们实现了应用程序多图标入口的功能,但是在系统的应用设置列表中,依然只有一个app进程。在桌面随便卸载哪一个图标,整个app都会被卸载。
其中的清单文件属性:
android.intent.category.LAUNCHER:官方解释为最上层的启动。
android.intent.action.MAIN:作为主要入口点,不需要接收数据。
这两个属性的区别个人觉得区分不大。
欢迎大家一起探讨。
android图标成功,Android多启动图标实现相关推荐
- linux 已打开文件图标管理,Linux_没有启动图标利用Linux命令在终端打开文件, 在Linux系统中,打开一个 - phpStudy...
没有启动图标利用Linux命令在终端打开文件 在Linux系统中,打开一个文件很简单,只要有启动图标就可以了,但是如果没有启动图标的话要如何在终端下打开文件呢?使用命令就能很好的解决这个问题,下面小编 ...
- android 数据显示成功,android如何将从数据库读取的数据显示在listview中?
满意答案 jjtu7565 推荐于 2019.09.27 采纳率:43% 等级:12 已帮助:7279人 final SimpleAdapter adapter = new SimpleAdap ...
- Android /iPhone/iPad UI之常用图标尺寸规范
整合的相对比较全面了,如果不足可以指出在补充完整. Android-App 常用图标尺寸规范 出自:http://www.cnblogs.com/libertycode/p/5666088.html ...
- 13-Qt使用Ps制作软件启动图标和应用内图标的一般方法于步骤
13-Qt使用Ps制作软件启动图标和应用内图标的一般方法于步骤 一.本文目标 本文所指的图标包括应用软件的"启动图标"和"应用内图标". 本文虽然分类到qt分类 ...
- ubuntu 为可执行程序创建启动图标
例子:为xmind的可执行程序创建启动图标: 参考1: 首先安装xmind: 下载安装包 解压安装包,运行sudo ./setup.sh安装必要的组件 如果使用64位系统,则进入XMind_amd64 ...
- 【错误记录】Android 应用安装后出现两个启动图标 ( 排查应用及依赖库中配置了 android.intent.category.LAUNCHER 的 Activity )
文章目录 一.报错信息 二.解决方案 一.报错信息 Android 应用安装后 , 出现两个相同的启动图标 , 其中一个可以启动 , 另外一个启动后 , 直接崩溃 ; 卸载其中一个 , 会将整个应用卸 ...
- android icon 圆角半径,iOS和安卓APP启动图标的尺寸和圆角值详解
今天在APP设计交流群里,又有不少的初学的APP设计小伙伴都在问ios端和安卓端的启动图标尺寸大小和圆角半径大小. 第一部分:我们先来看看iOS端的图标的尺寸和圆角大小详解 A.iOS6和之前版本,应 ...
- Android 屏幕适配攻略(六)设置通知样图标与启动图标适配
Android 屏幕适配攻略(六)设置通知样图标与启动图标适配 1 Android中资源文件中的图片加载分析 Android中对屏幕的像素适配处理分类 屏幕密度 对应的标签 对应的像素 120dip ...
- Android系统 小米/三星/索尼 应用启动图标未读消息数(BadgeNumber)动态提醒
在Android手机上,如QQ.微信当有未读消息的时候.我们可以看到在应用的启动图标的右上角会有一个红色圈圈.且圈圈里会动态显示未读消息的数目,如下图显示: 那么该功能是怎么实现的呢? 在万能的互联网 ...
最新文章
- 世界上本没有架构,建设的需求多了便有了架构
- JDK8特性--Stream(求和,过滤,排序)
- DA14580开发血迹12--完整Profile解析(以心率服务为例)
- celery开发中踩的坑
- fifo算法_【算法学习】分枝限界法
- 2x麦克劳林公式_极限求解-泰勒公式理解
- FullPage.js – 轻松实现全屏滚动(单页网站)效果
- 手游修改 wpe封包 fiddler抓包 逆向破解 gg修改 哪种最厉害?
- 一种基于折射反向学习机制与自适应控制因子的改进樽海鞘群算法
- 高频直流电源在整改、降压和作用方面解决方案
- 规划资源管理常用表格
- 试验设计[实验设计]
- 安卓平板硬件测试软件,《安兔兔硬件检测》:必备的系统工具
- 一大波苹果CMS系统主题来袭
- 基于MATLAB平台实现红绿灯(交通灯)识别
- libvirt API学习笔记
- linux系统的6000端口是什么,3种关闭linux系统端口方法
- 合作共赢:加密云储——穿针引线,布局IPFS分布式存储领域
- java黑皮书25.18-19----(压缩与解压),带界面,概念版
- c语言静态两个数码管显示0-99,按键控制计数,用两个数码管显示0到99。十位数为0的时候,显示为空白...
热门文章
- React+Webpack+ES6 兼容低版本浏览器(IE9)解决方案
- 前台ajax请求php后台返回成功却进error方法解决
- pycharm安装第三方包问题解决
- Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.2.2:testCompile问题解决
- Spring Boot 2.X 如何优雅的解决跨域问题?
- 读取CSV文件并将值存储到数组中
- 如何获取查询生成器以字符串形式输出其原始SQL查询?
- LINQ的Java等效项是什么? [关闭]
- 检索每个组中的最后一条记录-MySQL
- 如何在Vim中进行不区分大小写的搜索