- 2
- 0
- 约1.59万字
- 约 10页
- 2017-12-19 发布于重庆
- 举报
android界面框架-Window
android界面框架-Window
从纯sdk及framwork的角度看,android中界面框架相关的类型有:Window,WindowManager,View等。下面就以这几个类为出发点来概览下安卓开发的“界面架构”。
Window
该类接触不多,和它密切相关的View类就比较熟悉了。
Window和View的关系
View是可视界面上的一个矩形区域,它显示内容并接收各种交互事件。所有View形成一个ViewTree这样的结构,对应任何一个界面通过sdk自带的hierarchyviewer工具就可以看到所有View对象形成的视图树的形象的结构图,相信都不会陌生。
一般的,开发工作主要是利用系统及自定义控件组合完成各种界面,所以理解View的使用和原理更重要些。再进一步,以ViewTree为整体,再看它和window,系统服务之间的关系可以从整体上把握android中界面框架。
Window类的描述如下:
Window: Abstract base class for a top-level window look and behavior policy. An instance of this class should be used as the top-level view added to the window manager. It provides standard UI policies such as a background, title area, default key processing, etc.
Window表示“窗口”的概念,类似桌面OS中的窗口的概念,它是对用户界面的一个逻辑划分。可以参考下Windows编程中对Window类的描述是:“The point of interaction between a user and a standalone application is a window.”。每个窗口对应一个独立的交互(可以是完整屏幕大小的)界面。
可以认为窗口是系统区分不同界面(不同app,或者同一app的不同Activity等)的一个单位。窗口之间可以包含(容器和子窗口),可以重叠(窗口具有z轴深度)。
窗口本身没有显示内容的能力,它包含一个顶级的View对象来持有一棵ViewTree。
一句话概况:窗口是一个独立的可交互界面,不同窗口叠加显示,窗口包含View来显示内容。
android中的UI就是View组成的ViewTree来表达的,root view或者说顶部(top level)的View对象作为对整个ViewTree执行消息传递,测量,布局和绘制等遍历操作的全局入口,持有此root view就相当于持有对应的组成界面内容的ViewTree。
有一点就是,Window是一个框架层的概念,整个android中的“各种界面”是不同类型的Window对象。但是在应用层,我们创建不同的界面就是提供不同的“内容”View对象,然后指定其Window类型,而界面的创建,更新和关闭是通过操纵Window所包含的要显示的顶级View,而不会直接去操控Window对象。
创建Window
在一个新窗口显示一个View最简单的过程如下:
private void openNewWindow() {
Button button = new Button(this);
button.setText(Button On New Window);
WindowManager.LayoutParams params
= new WindowManager.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
params.gravity = Gravity.LEFT | Gravity.TOP;
params.x = 220;
params.y = 320;
params.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
params.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
windowManager.addView(button, params);
}
创建
您可能关注的文档
- 2018年4月上海市高等教育自学考试市级统考课程教材考纲书目表.docx
- 2018届高三理综物理检测卷2.doc
- 2018年北京交通大学理学院考研大纲.doc
- 2018年福建省高考(课标版)一轮复习方案:限时训练4:语言文字运用古诗文阅读.doc
- 2018年高三上学期化学理综练习.doc
- 2018年高考化学经典教案系列之化学计量在选择题中的应用.doc
- 2018年高考语文第一轮总复习(6-12教师用).doc
- 2018步步高第十章交变电流 45分钟章末验收卷.docx
- 2018版 分层提能限时练23 电流 电阻 电功及电功率.doc
- 2018版 分层提能限时练32 交变电流的产生和描述.doc
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
最近下载
- 我有友情要出租ppt.pptx VIP
- 2018年4月自考30002幼儿园教育活动设计与组织试卷及答案解释.doc VIP
- 2026年湖南国防工业职业技术学院单招职业技能考试题库附参考答案详解(综合题).docx VIP
- 九年级语文下册教学课件《短文两篇》.pptx VIP
- 反应粘结型高分子湿铺防水卷材施工工法.docx VIP
- 2026年湖南国防工业职业技术学院单招职业技能考试题库带答案详解(模拟题).docx VIP
- 拿来可用的管培生实施方案.docx VIP
- 沪教牛津版七年级(初一)下册全册单词表.pdf VIP
- 2026年湖南国防工业职业技术学院单招职业技能考试题库附参考答案详解(培优).docx VIP
- 美容院选址、开业、运营管理成功秘诀+美容店成功经营管理实务手册.doc VIP
原创力文档

文档评论(0)