android 修改应用图标简例
来源:互联网 发布:熔炉的真实事件 知乎 编辑:程序博客网 时间:2024/06/13 11:13
目前市面上很多APP会在重要日期或节假日对应用图标进行修改,这将用到activity-alias属性,该属性可以用于创建多个不同的入口,具体使用如下:
<activity-alias android:name=".MainActivity2" android:enabled="false" android:icon="@drawable/icon2" android:label="newIcon" android:targetActivity=".MainActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity-alias>Manifest完整代码:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.changeicondemo" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="21" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- name:组件名字 --> <!-- enabled:该组件是否启动 --> <!-- icon:组件图标 --> <!-- label:组件标签说明 --> <!-- targetActivity:组件的类 --> <activity-alias android:name=".MainActivity2" android:enabled="false" android:icon="@drawable/icon2" android:label="newIcon" android:targetActivity=".MainActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity-alias> </application></manifest>MainActivity代码:
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ((Button) findViewById(R.id.btn)).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubchangeIcon();Intent intent = new Intent(Intent.ACTION_MAIN);//模拟Home键点击intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.addCategory(Intent.CATEGORY_HOME);startActivity(intent);}}); } private void changeIcon() { PackageManager pm = getApplicationContext().getPackageManager(); //去除旧图标,否则会出现2个图标 pm.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); //显示新图标 pm.setComponentEnabledSetting(new ComponentName( getBaseContext(), "com.example.changeicondemo.MainActivity2"), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); } }
activity_main.xml代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" > <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /></RelativeLayout>
实现思路是通过activity-alias属性修改应用入口,从而实现应用图标修改,更新应用图标可能需要一小段时间,例子比较简单,完整Demo下载链接:
http://download.csdn.net/download/jingzhiying/10049880
百度云盘链接: https://pan.baidu.com/s/1slzABDV 密码: qxrn
阅读全文
0 0
- android 修改应用图标简例
- Android 修改应用图标icon
- Android Launcher3修改应用图标,隐藏应用图标
- 【android】修改android默认应用图标
- Android 4.0 修改Launcher 应用图标文字大小
- 如何用Android studio修改应用图标
- 如何修改Android应用的图标,名称
- android动态修改应用图标和应用名称
- 修改应用中文名,图标
- Android studio修改图标/android 修改图标
- Android 主界面应用图标的动态修改
- android 桌面应用图标修改无效的问题
- Android利用activity-alias动态修改应用图标和名称
- 修改android N的Launcher3桌面应用图标
- android 修改图标颜色
- 动态修改桌面应用图标
- android studio开发<七> 修改应用图标 应用ID 应用名 输出名称
- android应用图标大小
- CSS Hack技术详解,支持IE 6-11、Chrome、FireFox、Safari、Opera
- GPIO模拟I2C程序实现
- 也许我们不是最优秀的人才,但我们要做最努力的人
- 关于把PHP模版引擎smarty2升级到smarty3的一些见解
- HTML学习02-排版相关标签
- android 修改应用图标简例
- 数据类型和 Java 基础面试问题(一)
- Linux Unit16--系统的分区
- HDU3966 Aragorn's Story(树链剖分+线段树)
- phandle
- ROS与Python入门教程-制作Makefile文件
- Android 判断当前系统语言
- Ubuntu 16.04中安装Sublime Text 3并安装Package Control插件
- UNIX网络编程(unp)源码下载和编译