`
cloudtech
  • 浏览: 4611694 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

Android中的界面组成

 
阅读更多

Android中的界面组成

屏幕是简化的窗口,在Android中,常常使用的就是这种简单的“窗口”。屏幕和屏幕中的内容是Android中UI构建的主要内容。这两个方面包括:

屏幕:活动(android.app.Activity);

屏幕中的内容:视图(android.view.View)。

Android中屏幕及其中内容的程序结构如图2-1所示。

如图2-1所示,android.app包中的Activity和android.view包中的View分别用于表示一个屏幕和一个视图的基类。

Android用户界面的基本构建方法分成以下几个步骤:

继承默认Activity实现自己的屏幕;

使用View的继承者作为屏幕中的内容;

响应屏幕及其内容中的事件。

屏幕(活动Activity)

android.app.Activity类是Android中的活动,是Android四种组件中用来表示UI方面的组件。一个Activity中最主要的内容就是一个视图(View),此外,这个类还包含了标题栏、菜单、对话框附属功能。

活动的生命周期如图2-2所示。

在应用程序中实现自己的活动的时候,通常需要继承一个Activity类,并主要实现Activity中的以下几个protected的方法:

protected void onCreate (BundlesavedInstanceState) // 创建时调用

protected void onStart () // 开始时调用

protected void onResume () // 恢复时调用

protected void onPause () // 停止时调用

protected void onStop () // 完全停止时调用

protected void onRestart () // 重新开始时调用

protected void onDestroy () // 销毁时调用

这些以on为开头的方法用于指定一个活动的状态机转换时刻的行为,将在一个活动生命周期中运行的不同阶段被调用。

在一个Activity中,提供了以下一些接口来设置其中的内容:

public void setContentView(int layoutResID) // 以布局文件的方式来设置

public void setContentView(View view) //以视图类的方式来设置

public void setContentView(View view,ViewGroup.LayoutParams params)

setContentView()用于将一个视图(View)设置到活动中,通常在所实现Activity的onCreate()阶段被调用。

屏幕中的内容(视图View)

android.view.View表示可见的视图内容,它表现为界面上的可视内容,也可以接收事件。在程序中具体使用的类一般是View的继承者。各种View的继承者可以在布局文件中被描述。

View的主要标识是它的id,查找子View的方法。

public final View findViewById(int id)

View的事件主要由其中的监听者(Listener)来获得,在View类中具有setOn{XXX}Listener()系列方法,内容如下所示:

public void setOnClickListener(View.OnClickListener l);

public voidsetOnLongClickListener(View.OnLongClickListener l);

public voidsetOnFocusChangeListener(View.OnFocusChangeListener l);

public void setOnKeyListener(View.OnKeyListener l);

public void setOnTouchListener(View.OnTouchListener l);

public voidsetOnCreateContextMenuListener(View.OnCreateContextMenuListener l)

这些方法的参数分别为android.view包中的几个接口,如表2-1所示。

表2-1 事件处理接口

监听者功能

监 听 类

接口中的方法

单击

OnClickListener

void onClick(View v)

长按

OnLongClickListener

boolean onLongClick(View v)

焦点变化

OnFocusChangeListener

void onFocusChange(View v, boolean hasFocus)

按键

OnKeyListener

boolean onKey(View v, int keyCode, KeyEvent event)

触摸

OnTouchListener

boolean onTouch(View v, MotionEvent event)

上下文菜单

OnCreateContextMenuListener

void onCreateContextMenu(ContextMenu menu, View v,

ContextMenu.ContextMenuInfo menuInfo)

这些接口通常需要被用户程序实现。需要实现的方法中,均以View为第一个参数,当这些方法被调用的时候,传入的第一个参数通常就是发生事件的View。

二者的结合

View及其继承者通常可以设置到Activity中,作为其中的内容来使用。设置的方法通常是使用Activity的setContentView()方法。

例如使用如下的方法将一个布局文件设置到活动当中。

setContentView(R.layout.mylayout);

布局文件可以转化成View类。这是需要使用的是android.view包中的LayoutInflater类。此时主要使用类中的以下几个方法:

public View inflate (int resource, ViewGroup root)

public View inflate (int resource, ViewGroup root, booleanattachToRoot)

public View inflate (XmlPullParser parser, ViewGroup root)

public View inflate (XmlPullParser parser, ViewGroup root, booleanattachToRoot)

LayoutInflater功能就是根据布局文件的id或者XML文件,将其转化为一个View类型的内容。

在一个活动中进行如下的调用,将布局文件设置到其中:

LayoutInflater factory = LayoutInflater.from(this);

final View mylayout = (View )factory.inflate(R.layout.mylayout,null);

setContentView(mylayout);

这种实现方式等价于上述直接将布局文件设置到Activity中的方式,但是两个setContentView()的参数不同,前者使用的是整数参数,表示布局文件的id,后者使用的是一个View类型。所谓XML格式的布局文件,经过解析之后的结果实际上是一个对多层次组成的View。

提示:Activity中的setContentView()一般设置布局文件即可,没有必要拆成解析和设置两个步骤。在需要View类型的参数时,LayoutInflater可完成布局文件到View的转换。

——本段文字节选自《Android经典应用程序开发》

图书详细信息:http://blog.csdn.net/broadview2006/article/details/7276196

分享到:
评论

相关推荐

    Android 实现微信界面

    自定义ListView的列表项布局文件,将每个ListView要显示的内容构成一个由Map组成的List集合,List集合中的每一项,与ListView中的每一项相对应。创建SimpleAdapter对象,并将之与数据源、ListView列表项布局文件等进行...

    android 用户人机界面

    android 用户人机界面~~~~~~~~~~~~

    实验2-Android-应用的界面开发(1).doc

    实验目的 1、掌握Android应用结构组成 2、了解控制UI界面的三种方式 3、掌握XML界面控制的设计方法 4、掌握常用界面组件TextView、EditText、Button 2. 实验步骤 1. 掌握Android应用结构组成(导入工程phone) 2. ...

    android讲义

    宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。 Android一词最早出现于法国作家利尔亚当(Auguste Villiers de l'Isle-Adam)在1886年发表的科幻小说《未来...

    Android应用开发案例教程 (毋建军、徐振东、林瀚 编著) pdf

    全书论述了Android开发概述,Android应用程序组成,Android UI(用户界面)基础,Android UI系统控件基础,Android UI系统控件进阶,Android UI菜单、对话框,Android组件广播消息与服务,Android数据存储与访问,...

    Android-该项目是自定义两个控件组成一个登陆界面分别是输入框和密码框

    该项目是自定义两个控件组成一个登陆界面,分别是输入框和密码框,密码框可以点击按钮进行隐藏与显示,并且将图片封装在控件中,方便灵活使用

    基于Android的个人理财APP的设计与实现(android毕业设计,包括源码、数据库).zip

    1. 技术组成 后台框架:SpringBoot/SSM (如果有的话) 前端:Android 数据库:MySQL (建议用 5.7 版本) 工具:Maven, Gradle 开发环境:JDK、IDEA、AndroidStudio gradle 下载源最好自行修改为国内下载源,下载...

    Android应用开发案例教程

    全书论述了android开发概述,android应用程序组成,android ui(用户界面)基础,android ui系统控件基础,android ui系统控件进阶,android ui菜单、对话框,android 组件广播消息与服务,android数据存储与访问,...

    Android高级编程--源代码

    3.1 Android应用程序的组成部分 43 3.2 程序清单简介 44 3.3 使用清单编辑器 47 3.4 Android应用程序生命周期 48 3.5 理解应用程序的优先级和进程状态 49 3.6 分离资源 50 3.6.1 创建资源 50 3.6.2 使用资源...

    Android+sdk中文帮助文档

    用户界面工具 组成部分 数据存储与取回 安全模型 资源与国际化设置 开发工具箱 设计哲学与理念 构建常用组件 可选API 相关资料 Package 索引 Class 索引 Class 等级 Views列表 Intents列表 许可列表 ...

    Android仿微信之界面导航篇(1)

    废话不多说,下面就开始说一下如何实现微信的第一次启动程序的用户导航,ViewPager相信大家都不陌生了,是google放出的一个安卓低版本的兼容包android-support-v4.jar,里面有很多类我们可以去使用。那这个导航就是...

    android开发入门与实战(下)

    7.2 我的美丽我做主——Android中应用界面布局 7.2.1 实例操作演示 7.2.2 实例编程实现 7.3 不积跬步无以至千里——常用widget组件介绍 7.3.1 创建widget组件实例 7.3.2 按钮(Button)介绍与应用 7.3.3 文本框...

    《Google Android 揭秘》(美) W.Frank Ableson 著

    1.2 Android的栈组成 8 1.3 开始Android开发 11 1.3.1 Android的Intent 11 1.3.2 激活Android 14 1.3.3 AndroidManifest.xml 20 1.3.4 将应用程序映射到进程 22 1.4 一个Android应用程序 22 1.5 小结 26 第2章 开发...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    自制信息管理系统的前端界面 与Android信息管理系统配套

    自制信息管理系统的前端界面 与Android信息管理系统配套 自制信息管理系统的前端界面 与Android信息管理系统配套 内涵功能选择界面,登录界面,同时包含每个具体的功能界面 项目整体只有html,css组成界面布局...

    Android编程入门很简单.(清华出版.王勇).part1

    第8章Android应用程序组成 8.1深入理解Activity 8.1.1使用Intent连接Activity 8.1.2 Activity的生命周期 …… 第9章Android中的数据存储 第10章绚丽的多媒体技术 第11章Android网上冲浪 第12章Android地图服务 第4篇...

    Android程序设计基础

    通过逐渐在游戏中添加特性,你将学习Android编程的许多方面,包括用户界面、多媒体和Android生命周期。..  第一部分中将首先介绍Android,内容涉及如何安装Android模拟器,如何使用IDE(Intergrated Development ...

    Android基础开发

    Android一词的本义指“机器人”,Android是Google于07年11月5日宣布的基于Linux平台开源手机操作系统名称,该平台由操作系统、中间件、用户界面和应用软件组成。在国内,联想、戴尔、多普达、飞利浦、中兴、三星、...

    Android程序技术:常用控件.pptx

    控件是界面组成的主要元素,是与用户进行直接交互的。 常用控件 TextView EditText Button RadioButton ImageView TextView 常用控件 Common controls TextView是Android中很常用的用于显示文字(字符串)的控件,...

    Android SDK程序设计与开发范例_光盘

    然后才开始创建Android应用程序,介绍使用界面、事件处理、多活动Android应用程序,学习数据存储与数据交换、数据库和内容提供者,以及组成组件的服务和广播接收器,最后通过20个热门范例来讲解Android应用程序的...

Global site tag (gtag.js) - Google Analytics