我的大概思路是自己写一个Home,代替系统自带的,在Home里画app的时候,改变图标和文字.
这里有个简单的效果图
首先要有个activity能成为Home,所以它的intent filter配置如下
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
这样按home键它就能出现了,
第二个是系统自带的home
这个activity非常简单,用一个gridview列出系统中所有的launcher,gridview的adapter的getview方法中,对特定的launcher进行处理,显示右上角那个红字
列出所有的launcher代码如下
PackageManager manager = getPackageManager();
Intent mainIntent = new Intent(Intent.ACTION_MAIN);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final List<ResolveInfo> apps = manager.queryIntentActivities(
mainIntent, 0);
ResolveInfo类loadLabel(manager)可以得到app的名字,info.loadIcon(manager)可以得到app的图标,
info.activityInfo.packageName可以得到app的包名.我就是根据app的包名,在adapter的getView方法中为特定的app特殊处理.
顺便吐槽下android的文档,manager.queryIntentActivities的第二个参数,说的太含糊其辞了.我也不清楚这里用
个0到底啥意思.
在这个自定义的home app中,可以放一个BroadcastReceiver,接收特定的消息后,更新gridview
比如我这里在每次收到短信后,就让短信那个app的数字加1,然后调用adapter的notifyDataSetChanged方法.
这样telnet到模拟器上,使用sms send 10086 content命令,就可以使那个数字递增,达到动态更新的效果
当然了,要完成一个完美的Home application,还有很多很多工作要做......
分享到:
相关推荐
首先,让我们了解Android应用程序的基本架构。一个标准的Android应用通常由多个组件构成,包括Activity(活动)、Service(服务)、BroadcastReceiver(广播接收器)、ContentProvider(内容提供者)等。在这个天气...
7. iOS:在Xcode中,可以为应用设置不同尺寸的启动图标和App图标。 五、优化与兼容性 1. 图标集:提供多种尺寸的图标,以适应不同的设备和分辨率。 2. 光标图标:为鼠标悬停或点击状态设计相应的光标图标,增强交互...
总的来说,"273张PNG格式android+iphone图标打包"是一个实用的资源集合,涵盖了移动设备应用开发中常见的图标需求,无论是用于快速原型制作还是完善应用程序的视觉效果,都能提供极大的帮助。在使用这些图标时,理解...
在Android中,`ActionBar`是应用程序顶部的一个区域,通常用于展示应用的标识、当前活动的标题和操作选项。在早期的Android版本中,它是通过`Theme`和`ActionBarSherlock`库来支持的,而在Android 3.0(API级别11)...
- **动态主题**:Aesthetic支持动态改变App的主题颜色,包括背景色、文字颜色、按钮颜色等,使得用户可以根据自己的喜好切换不同的主题。 - **基于RxJava**:利用RxJava的响应式编程模型,Aesthetic能够实时响应...
在Android开发中,主题(Theme)是至关重要的一个部分,它定义了应用程序的视觉样式、颜色、字体等界面元素。本资源"Android应用源码之theme.zip"提供了一个关于Android主题设计的源码示例,旨在帮助开发者深入理解...
DDMS是Android开发者用于调试应用程序的重要工具,它提供了多种功能,包括设备管理、进程管理、内存监控、线程和堆栈跟踪等。通过DDMS,开发者可以: 1. 设备管理:查看连接到电脑的Android设备或模拟器状态,进行...
在Android开发中,创建引人入胜且交互丰富的应用程序至关重要。这个"android源代码"示例专注于几个关键的Android开发技术:程序启动时播放背景音乐、自定义按钮、自定义对话框以及创建精美的用户界面。下面将详细...
5. **配置文件设置**:在uniAPP项目中,通常会有一个全局的配置文件`unapp.config.js`,在这里也可以配置tabbar,包括图标、文字、颜色等。这样做的好处是可以在全局范围内统一设定,便于后期维护。 6. **自定义...
在Android应用开发中,`OptionsMenu` 是一个至关重要的组件,它允许用户在应用程序的主屏幕顶部或动作栏中访问各种操作。本项目“Android应用源码之MyOptionMenu.zip”显然是一个专注于`OptionsMenu`实现的示例代码...
uni-app 是一个基于 Vue.js 的跨平台开发框架,它允许开发者使用一套代码库构建应用程序,这些应用程序可以部署在iOS、Android、H5以及各种小程序平台上,如微信、支付宝、百度、头条、QQ和钉钉。这极大地提高了开发...
"900个精美小图标"这个资源集就是一个极好的例子,它为开发者和设计师提供了丰富的图形素材,适用于网页、移动页面以及应用程序的设计。这些小图标在用户界面中扮演着至关重要的角色,因为它们能够直观地引导用户...
在Android应用开发中,标题栏(ActionBar)是一个重要的组件,它位于应用程序屏幕的顶部,通常显示应用的名称、图标以及一些操作按钮。本教程将详细讲解如何修改Android标题栏的大小、颜色以及其他相关属性,帮助...
Mono 是一个开源的.NET框架,它允许开发者使用C#等.NET语言来编写跨平台的应用程序,包括Android。本教程将深入探讨如何在Mono环境中创建具有高复用性的安卓APP菜单栏。 首先,了解基本概念。在Android应用中,...
`Toolbar`作为Android中的一个可定制的导航组件,通常被用作应用程序的主标题区域。它可以包含图标、文字以及其他的菜单项。通过`CoordinatorLayout`,我们可以实现当用户滚动页面时,`Toolbar`自动滑入或滑出的动画...
快乐就和我一起啸吧-v-",可以通过修改`android:text`属性改变文字内容。`Button`是用户交互的元素,它的文本是"点击我退出程序",可以通过`android:text`属性修改。 3. `Button`的`android:id="@+id/...
在Android应用开发中,底部导航栏(Bottom Navigation Bar)是一种常见的界面元素,它位于应用程序屏幕的底部,通常包含3到5个图标或标签,用于在主要功能之间进行切换。这样的设计便于用户快速访问核心功能,提高了...
夜间模式通常是通过改变应用程序的主题颜色来实现的。Android系统提供了DayNight主题,它可以在日间和夜间之间自动或手动切换。开发者可以通过设置`res/values-night`和`res/values`两个不同资源文件夹下的主题样式...
3. **颜色主题**:通过设置`app:itemTextColor`、`app:itemIconTint`和`app:headerBackground`等属性,可以改变菜单文字颜色、图标颜色和头部背景色。 六、`NavigationView`与其他组件的交互 1. **与`DrawerLayout...
这个源码实现主要是为了提供一种方法,让开发者能够轻松地在自己的应用程序中创建具有动态效果和交互性的底部导航菜单,从而提升用户体验。下面我们将详细探讨如何在Android中实现这样的功能。 首先,我们需要了解...