`

StatusBar (状态栏)的架构(Android 2.3)

阅读更多
以前我的文章分析过 StatusBar上图标显示的流程,现在分析一下在 Android2.3中, StatusBar的架构,其实 StatusBar的实现方法还是进行了许多大的修正的,比如原来 StatusBar的操作都是在 Service进程中,现在许多图标显示更新等的操作都移到了应用进程中。

代码目录结构 :

主要位于两个目录中

1,frameworks/base/services/java/com/android/server

这个目录在以前版本中也有

2,frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar

这个目录是 2.3版本新增加的,把许多界面的操作做到了应用里。

主要架构:

1 StatusBarManager是供应用层调用的接口,它会通过 Binder机制调用到 StatusBarManagerService

2 StatusBarMangerService位于 Service进程中,是由 ServerThread创建的,它与 NotificationManagerService InputMethodManagerService进行交互。

3 StatusBarManagerService在被创建的时候会启动一个应用层的 Service -StatusBarService,创建 StatusBarView,增加减少 Icon等等的处理,都是在这个 Service中。

架构图如下:



StatusBar (状态栏)的架构(Android 2.3)(转) - Me.... - DaDaDuDu....
  • 大小: 48.2 KB
分享到:
评论

相关推荐

    Android-gm-statusbar状态栏透明工具类

    在Android开发中,状态栏(StatusBar)的管理是界面设计中的一个重要环节,它可以极大地影响到应用的用户体验。"Android-gm-statusbar状态栏透明工具类" 提供了一种方便的方式来处理状态栏的透明效果,使得开发者...

    Android2.3 状态栏修改教程

    ### Android2.3状态栏透明修改教程 #### 知识点一:状态栏透明修改方法 **背景介绍:** 在Android开发中,有时为了达到更好的视觉效果或满足特定设计需求,开发者需要对系统的状态栏进行定制化修改。本文将详细...

    wpf 状态栏 右下角三角statusbar

    在Windows Presentation Foundation(WPF)中,状态栏(StatusBar)是一种常见的用户界面元素,用于显示应用程序的状态信息或者提示用户的相关消息。"右下角三角"通常指的是在状态栏中添加了一个可以折叠或展开的...

    Android 沉浸式状态栏(亲测好用)

    在Android开发中,沉浸式状态栏(Immersive Status Bar)是一种常见的设计手法,它能够使应用的内容无缝地延伸到状态栏下方,提供更全面、更沉浸的用户体验。这种技术尤其在游戏和全屏应用中非常受欢迎,因为它最大...

    iOS 自定义视图覆盖状态栏StatusBar

    在iOS开发中,状态栏(StatusBar)是显示时间、网络信号、电量等系统信息的区域。自定义状态栏可以为应用程序增添独特的视觉效果,提升用户体验。本教程将深入讲解如何在不隐藏状态栏的情况下,利用UIWindow视图来...

    StatusBar定制iphone状态栏

    在iOS开发中,状态栏(StatusBar)是位于应用程序顶部,显示时间、网络连接状态、电量等信息的小区域。默认情况下,iOS系统会自动处理状态栏的样式和内容,但有时开发者可能需要对其进行自定义,以适应特定应用的...

    Android4.4之后改变状态栏statusbar背景色

    在Android开发中,自4.4版本(KitKat)开始,系统引入了透明状态栏(Translucent Status Bar)的功能,允许应用的内容延伸到状态栏下方,提供了更沉浸式的用户体验。这个特性同时也带来了自定义状态栏颜色的需求。...

    pb 状态栏 示例 两种方式

    ".pbl"扩展名代表PowerBuilder库文件,它们存储了对象定义和代码,如“statusbar_demo.pbl”和“status_bar.pbl”可能包含了状态栏实现的相关对象。“.pbt”是PB的项目文件,如“statusbar_demo.pbt”和“status_bar...

    android 禁用statusBar demo

    在Android开发中,有时我们可能需要为特定场景禁用状态栏(StatusBar),比如为了实现全屏体验或特殊界面设计。然而,通常情况下,系统权限是不允许应用直接禁用statusBar的,尤其是对于没有获取到SYSTEM_ALERT_...

    android沉浸式状态栏 布局可以顶到状态栏上

    在Android开发中,沉浸式状态栏(Immersive Status Bar)是一种设计趋势,它使得应用内容可以延伸到手机屏幕的状态栏区域,提供更沉浸式的用户体验。这种效果常见于全屏游戏或视频播放等应用场景,目的是减少界面...

    Android状态栏透明(沉浸式)Demo

    在Android开发中,状态栏透明,也称为沉浸式(Immersive Mode)或者全屏模式,是一种提升用户体验的设计,使得应用内容可以延伸到系统状态栏下方,提供更广阔、更沉浸式的视觉效果。本Demo主要展示了如何实现Android...

    Android系统控制状态栏下拉

    在Android系统中,状态栏是显示系统通知和时间等信息的重要区域,而下拉状态栏则通常用于展开快捷设置和查看详细的通知。本篇将详细探讨如何通过编程方式,特别是利用反射机制来控制Android状态栏的下拉行为。 首先...

    Android实现状态栏(statusbar)渐变效果的示例

    本篇文章主要介绍了 Android 实现状态栏 (status bar) 渐变效果的示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。 一、状态栏渐变效果的实现 状态栏渐变效果是指在 Android 应用程序中实现状态栏从一个...

    Android自定义状态栏颜色与应用标题栏颜色一致

    在Android开发中,为了让应用的用户体验更加统一和美观,有时我们需要自定义状态栏的颜色,使其与应用的标题栏颜色保持一致。在iOS系统中,这种效果很常见,但早期的Android版本并不支持这一特性。不过,从Android ...

    android修改状态栏背景颜色、字体颜色,隐藏状态栏,状态栏透明

    在Android开发中,状态栏是屏幕顶部显示时间、网络连接、电量等信息的区域,它的样式和行为可以被开发者自定义以实现特定的界面效果。本教程将详细讲解如何修改状态栏的背景颜色、字体颜色,如何隐藏状态栏以及如何...

    iOS开发教程之Status Bar状态栏设置的方法汇总

    个人觉得 iOS 的 Status Bar 状态栏也是一个比较坑的地方,所以还是写一个总结,有遇到这方面问题的朋友可以看一下。 下面话不多说了,来随着小编一起学习学习吧 Status Bar 状态栏的隐藏 1. 通过设置 Info.plist ...

    Android statusBar添加back,home,menu按钮

    在Android系统中,StatusBar是位于屏幕顶部的一条栏,通常显示时间、通知图标以及系统状态信息。在Android 2.3(Gingerbread)版本中,StatusBar默认仅包含一些基本功能,如通知和解锁控件。然而,根据您的标题和...

    SystemUI StatusBar流程梳理

    3. 添加状态栏到 window 上:在 createAndAddWindows() 方法中,StatusBar 还负责将状态栏添加到 window 上。 4. 初始化操作:在 start() 方法和 createAndAddWindows() 方法中,StatusBar 进行了一些初始化操作,...

    修改后的沉浸式状态栏在fragment中的使用,去吃状态栏阴影

    在Android开发中,沉浸式状态栏(Immersive Status Bar)是一种常见的设计手法,它能让应用界面更加沉浸,提供更好的用户体验。此主题主要探讨如何在Fragment中实现沉浸式状态栏并去除状态栏的阴影。 首先,我们...

    delphi中改变statusbar的背景色和字体颜色

    在Delphi编程环境中,StatusBar是窗口底部用于显示各种状态信息的组件。为了提供更好的用户界面体验,有时我们需要自定义StatusBar的颜色,使其与应用程序的整体风格相匹配。本篇将详细介绍如何在Delphi中改变Status...

Global site tag (gtag.js) - Google Analytics