`

Android之界面组件和窗口

阅读更多

界面组件和窗口

界面组件都有一个Window对象,每个Window对象负责构造和管理一棵控件树,为控件树构造对应的ViewRoot建立与窗口管理的双向通信。

 

    Window是一个抽象类,手机上是PhoneWindow类,其定义的控件树结构中根控件是DecorView,派生自FrameLayout,通过Window.getDecorView得到。

    PhoneWindow定义交互界面,主要由标题区域和内容区域组成,标题区域通常由标题文字、进度条、组件图标组成。通过Activity.setTitle改变标题内容;内容区域通过Activity.setContentView设定。

    通过Window.requestWindowFeature设定窗口参数,改变界面的基本形态。自定义窗口布局通过Window.setFeatureInt实现。

    PhoneWindow的辅助交互区域是选择菜单区域Option Menu。大多数情况下不可见,当用户点击菜单键或调用Activity.openOptionsMenu函数,菜单才会构造并显示。当用户再次单击菜单键或Activity.closeOptionsMenu函数时,菜单隐藏并关闭。

 

    Android中,动态构造控件是一个耗时过程,反复对可选菜单进程构造和销毁,会降低界面的反应速度。为此Android建立了可选菜单的缓存策略。可选菜单第一次展示之前,界面组件的Activity.onCreateOptionsMenu会被调用。可选菜单一旦被构造,在整个组件生命周期内不会被销毁,用户再次使用可选菜单时,不再调用

 

Activity.onCreateOptionsMenu进行构造。而是直接从缓存中读取可选菜单。如果需要可选菜单动态变更,需要重载Activity. onPrepareOptionsMenu

分享到:
评论

相关推荐

    Android窗口界面美化例子.rar

    这个"Android窗口界面美化例子"提供了一系列源代码,帮助开发者学习和掌握如何提升Android应用的视觉效果。以下是一些关键知识点的详细说明: 1. **布局管理器**:在Android中,我们使用XML布局文件来设计界面。...

    android四大组件详解

    在Android系统中,四大组件是构建应用程序的核心元素,它们分别是Activity、Service、BroadcastReceiver和Content Provider。这四个组件各自承担着不同的职责,共同构成了Android应用的骨架。 **Activity**是用户与...

    Android Studio —— 界面切换

    总结来说,Android Studio为开发者提供了多种工具和组件来实现界面切换,从简单的Intent使用到复杂的Navigation Component和Fragment管理。开发者可以根据项目需求选择合适的策略,提升应用的用户体验。通过熟练掌握...

    android 界面设计器

    总之,Android界面设计器是Android Studio的重要组成部分,它通过直观的图形界面和拖拽功能,简化了Android应用的UI开发流程,让开发者能够更专注于功能实现和用户体验的优化。随着技术的进步,这些工具也在不断迭代...

    android 无显示窗口摄像

    以上就是实现“android无显示窗口摄像”的主要技术细节,涵盖的领域包括Android组件、权限管理、硬件接口、多媒体处理和系统服务等多个方面。在实际开发中,还需要考虑设备兼容性、错误处理和用户体验等因素。

    android各组件详解 PDF

    Loader是Android框架中负责异步加载数据的组件,主要用于Activity和Fragment中。Loader能够在配置变更时自动重新加载数据,确保数据的实时性,减少了数据丢失的风险。 9. **View(视图)与 ViewGroup(视图组)** ...

    android基本组件(源码)

    通过阅读和分析Android源码,开发者不仅可以更深入地理解这些组件的工作原理,还能找到性能优化的切入点,提升应用的用户体验。同时,源码学习也有助于开发者更好地遵循Android的设计规范,编写出更加健壮和高效的...

    android模拟实现QQ登录界面

    内容概要:了解基础Android组件的使用,以及shape和selector组件美化。 适合人群:初学Android开发的小萌新,可以利用这个小案例巩固Android基础控件的使用。 能学到什么:可以加深Android布局的使用,以及基础组件...

    android验证码界面ui实现

    PopupWindow是Android中的一个视图组件,用于创建弹出式窗口。在验证码界面的实现中,我们可能希望在用户触发特定操作(如点击某个图标)时,通过PopupWindow弹出验证码输入界面。创建PopupWindow需要提供一个布局,...

    Android炫酷的弹出窗口

    在Android开发中,创建引人注目的用户界面是至关重要的,尤其是一些具有动画效果的弹出窗口,它们能够提供良好的用户体验并增加应用的趣味性。"Android炫酷的弹出窗口"这一主题主要涵盖了如何在Android应用中设计和...

    android 四大组件详细介绍

    Android 四大组件是 Android 开发平台的核心组成部分,分别是 Activity、Service、Broadcast Receiver 和 Content Provider。这些组件都是 Android 应用程序的基石,每个组件都扮演着不同的角色,共同构成了 ...

    android基础组件功能演示

    这些组件为开发者提供了丰富的功能,使得能够构建出各种各样的用户界面和交互逻辑。本教程将详细探讨Android基础组件的功能及其使用方法,以帮助开发者深入理解并熟练掌握Android开发的核心技术。 首先,我们来看看...

    android锁屏界面显示,仿播放器。

    - 需要申请`SYSTEM_ALERT_WINDOW`权限,允许在所有窗口之上显示内容,以便自定义锁屏界面。 - 还需要`WAKE_LOCK`权限,确保屏幕在播放时不会自动熄灭。 5. **通知栏集成**: - 使用`Notification`来创建一个常驻...

    安卓Android源码——SurfaceView添加组件view不被组件覆盖.zip

    `SurfaceView` 创建了一个独立的窗口,这个窗口位于应用程序窗口之上,形成了一个“洞”,使得底层的窗口内容得以显示。通常,`SurfaceView` 用于显示连续更新的内容,而上面的组件则用来提供交互功能。由于 `...

    Android SurfaceView添加组件view不被组件覆盖-IT计算机-毕业设计.zip

    在Android开发中,SurfaceView是一种特殊的视图,它允许开发者在应用程序中创建高性能的图形界面,比如游戏或者视频播放器。SurfaceView具有自己的绘制表面,与主线程分离,因此可以进行独立于UI线程的高性能渲染。...

    android开发仿微信界面实现

    在Android开发中,仿制微信界面是一个常见的学习和实践项目,它可以帮助开发者深入理解用户界面设计和Android组件的使用。...通过这个项目,开发者能够全面了解并掌握Android界面设计和组件应用的诸多方面。

    fmx-android-界面缩放

    二、Android界面挑战 Android设备有着广泛的屏幕尺寸和分辨率,从小型手机到大型平板电脑不等。因此,为了使应用界面在所有设备上看起来舒适且易于使用,开发者需要考虑界面的响应性和可缩放性。 三、FMX的界面缩放...

    Android Studio实现简单的购物商城界面源码

    本文将详细讲解如何使用Android Studio和ListView组件来实现这样的界面。首先,我们要理解ListView的基本概念。 ListView是Android SDK提供的一种视图组件,它能够显示一列可滚动的项目列表。在购物商城应用中,...

    Android登陆界面

    在Android应用开发中,设计一个吸引人的登录界面是至关重要的,因为它不仅是用户与应用程序的初次交互,也是展示应用品牌形象的窗口。"Android登陆界面"这个主题涵盖了如何创建一个美观、功能齐全且用户体验良好的...

    Android界面设计模仿机锋市场

    以上就是对“Android界面设计模仿机锋市场”这一项目中涉及的Android UI设计知识的详细阐述,涵盖了布局、动画、图片处理、颜色字体、触摸反馈、自定义组件、Material Design、屏幕适配和性能优化等多个方面。...

Global site tag (gtag.js) - Google Analytics