Android Studio开发应用桌面出现两个或多个图标

本文探讨了游戏SDK集成后导致手机桌面上出现两个应用程序图标的问题,并提供了详细的排查步骤,包括检查AndroidManifest文件中Activity配置的android.intent.category.LAUNCHER属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对接游戏sdk,安装运行之后手机桌面出现两个ICON,首先查找的是不是自己的AndroidManifest中 多个Activity  注册了两个lancher,即

android.intent.category.LAUNCHER

没有,然后又通过 gradle 也没找到原因,最后再查找 导入的 依赖工程 的 AndroidManifest,发现里面也注册了一个 AndroidManifest,虽然那个Activity 还是报错状态(代码中没有这个Activity),但依然会生成 两个Icon。 



所以桌面出现两个或多个 Icon肯定是 多个Activity添加了 android.intent.category.LAUNCHER 属性。除了自己的 AndroidManifest 还要排查引用的工程的 AndroidManifest。

 

以前做广告的时候遇到过桌面Icon广告或者一些 工具应用商店也会有推荐游戏之类的除了app icon外的其他图标。也就是多个Activity 中添加android.intent.category.LAUNCHER 操作的。

<think>嗯,用户这次的问题很具体,询问如何在AndroidStudio中为APP页面添加图标。从用户的历史提问看,ta应该是个Android开发新手,正在学习基础界面开发。之前用户引用了三篇参考资料,其中引用1和引用3是关于项目创建和模块依赖的,而引用2提到类微信APP的界面设计——这暗示用户可能想实现类似主流APP的图标布局。用户的需求很明确,但需要区分两个层次:是添加应用图标(launchericon)还是页面内的功能性图标?从ta提到“APP页面”这个表述,我倾向于后者。不过为了全面性,最好两种都涵盖。关键知识点在于:1应用图标AndroidManifest中设置,使用ic_launcher开头的资源2页面内图标属于视图组件,需要通过TextView的drawable属性ImageView实现3谷歌推荐使用矢量图标(VectorDrawable)适配不同分辨率用户上次提问时引用了模块依赖的内容,这次可能会疑惑图标资源是否要额外导入。实际上系统已内置常用图标库,如MaterialDesignIcons,这正是需要强调的地方。操作步骤需要按优先级排序:1从最标准的方案(ImageView+矢量图)开始2再提供替代方案(如复合图标的TextView)3最后说明应用图标的设置,虽然这不是当前问题的核心但用户可能后续会问特别注意点:-必须提醒矢量图的Android版本兼容问题(minSdkVersion21)-drawablePadding这种细节对新手容易忽略要重点标注-引用2里提到的fragment转换与图标使用相关,可以作为进阶提示用户可能遇到的坑:1忘记设置图标尺寸导致变形2PNG图标未提供多分辨率版本3误把应用图标设置方法用在页面图标上这些都需要在注意事项里预警。后续问题设计要引导用户深入:1矢量动画属于高端话题但很实用2动态切换图标对应白天/黑夜模式是常见需求3图标资源管理涉及开发规范这样既解答当前问题,又帮ta建立学习路径。</think> 在 Android Studio 中为 App 页面添加图标通常有两种方式:**设置应用图标(App Icon)**和**在页面内添加功能图标**。以下是详细步骤: --- ### 一、设置应用图标(显示在桌面) 1. **准备图标文件** - 使用矢量图标(推荐) PNG 图片(需提供多分辨率版本)。 - 矢量图路径:`res/drawable/ic_icon_name.xml` - PNG 需提供不同分辨率:`res/mipmap-mdpi`、`res/mipmap-hdpi` 等文件夹 2. **修改 AndroidManifest.xml** 在 `<application>` 标签中指定图标: ```xml <application android:icon="@mipmap/ic_launcher" <!-- 应用图标 --> android:roundIcon="@mipmap/ic_launcher_round" <!-- 圆形图标 --> ... > ``` 3. **使用 Image Asset Studio(可选)** - 右键点击 `res` 文件夹 → **New → Image Asset** - 选择图标类型(`Launcher Icons`),导入/设计图标 → 自动生成多分辨率文件[^1] --- ### 二、在页面布局中添加功能图标(显示在界面中) #### 方法1:使用 `ImageView` 1. **XML 布局中添加组件**: ```xml <ImageView android:layout_width="48dp" android:layout_height="48dp" android:src="@drawable/ic_home" <!-- 图标资源 --> android:contentDescription="首页图标"/> <!-- 无障碍描述 --> ``` #### 方法2:通过 `TextView` 的复合图标 ```xml <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableStart="@drawable/ic_email" <!-- 左侧图标 --> android:drawablePadding="8dp" <!-- 图标与文本间距 --> android:text="邮箱" /> ``` --- ### 三、图标资源管理 1. **导入图标文件** - 将图标文件拖拽至 `res/drawable`(矢量图) `res/mipmap`(位图) - **矢量图使用示例**: ```xml <!-- res/drawable/ic_settings.xml --> <vector android:width="24dp" android:height="24dp" ...> <path android:fillColor="#FF0000" android:pathData="M12,15.5A3.5,3.5..."/> </vector> ``` 2. **动态修改图标(代码控制)** ```java ImageView icon = findViewById(R.id.icon_view); icon.setImageResource(R.drawable.ic_new_icon); // 切换图标 ``` --- ### 注意事项 - **图标尺寸规范**:遵循 [Material Design 指南](https://material.io/design),操作图标推荐 `24dp` - **兼容性**:矢量图需 `minSdkVersion >= 21`,低版本需启用兼容库: ```gradle android { defaultConfig { vectorDrawables.useSupportLibrary = true } } ``` - **颜色控制**:通过 `android:tint` 属性修改图标颜色: ```xml <ImageView android:src="@drawable/ic_icon" android:tint="@color/blue" /> ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值