android安卓全屏横屏屏幕宽高

时间:2024.4.20

应用程序动态全屏和退出全屏

让程序全屏的方法,大家都知道,那是静态的,程序运行之初就申明了。但是如果有这样的需求:要在程序运行的过程中,执行了某个操作而使之全屏,然后还需要退出全屏,怎么做?

如下:

Java代码

1. WindowManager.LayoutParams attrs = getWindow().getAttributes();

2. attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;

3. getWindow().setAttributes(attrs);

4. getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

修改window的LayoutParams参数,然后加上FLAG_LAYOUT_NO_LIMITS标志,就OK了。window会自动重新布局,呈现全屏的状态。

要退出全屏,只需要清除刚才加上的FLAG_FULLSCREEN参数,然后去掉FLAG_LAYOUT_NO_LIMITS标志。

如下:

Java代码

1. WindowManager.LayoutParams attrs = getWindow().getAttributes();

2. attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);

3. getWindow().setAttributes(attrs);

4. getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

Android全屏的两种方法

第一种方法,在代码里面直接写。

Java代码

1. requestWindowFeature(Window.FEATURE_NO_TITLE);

2. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

3. WindowManager.LayoutParams.FLAG_FULLSCREEN);

需要在setContentView方法调用之前设置。

第二种方法,定义一个主题,在styles.xml里面

Xml代码

1. <resources>

2. <style name="Theme.NoTitle_FullScreen">

3. <item name="android:windowNoTitle">true</item>

4. <item name="android:windowFullscreen">true</item>

5. </style>

6. </resources>

然后在manifest.xml中,为想要全屏的activity加上

android:theme="@style/Theme.NoTitle_FullScreen"这个属性。

设置横屏:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

屏幕宽高:

DisplayMetrics dm = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(dm);

int screenWidth = dm.widthPixels;

int screenHeight = dm.heightPixels;

自动切换横屏竖屏:

<Activity android:screenOrientation="senson">......


第二篇:安卓Android


android

Android一词的本义指“机器人”,同时也是Google于20xx年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前,最新版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb。 系统简介

Android是基于Linux内核的操作系统,是Google公司在20xx年11月5日公布的手机操作系统,早期由原名为"Android"的公司开发,谷歌在20xx年进行收购"Android.Inc",Google继续进行对Android系统开发运营,它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能;其他的应用软件则由各公司自行开发,部分程序以Java编写。20xx年初数据显示,仅正式推出三年的操作系统Android已经超越称霸十年的塞班系统,采用Android系统主要厂商包括美国摩托罗拉(MOTOROLA)、韩国的三星(SAMSUNG)、英国索尼爱立信(Sony Ericsson)另外还有中国厂商如:中国台湾HTC、联想、华为、中兴等,使之跃居全球最受欢迎的智能手机平台,Android系统不但应用于智能手机,也在平板电脑市场急速扩张。

应用程序

Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个 Activity 类(class)负责创建视窗(window),一个活动中的Activity就是在 foreground(前景)模式,背景运行的程序叫做Service。两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行的效果。如果运行中的 Activity 全部画面被其他 Activity 取代时,该 Activity 便被停止(stopped),甚至被系统清除(kill)。

View等同于J2ME的Displayable,程序人员可以通过 View 类与“XML layout”档将UI放置在视窗上,Android 1.5的版本可以利用 View 打造出所谓的 Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的Android Hero手机即含有大量的widget。至于

ViewGroup 是各种layout 的基础抽象类(abstract class),ViewGroup之内还可以有ViewGroup。View的构造函数不需要再Activity中调用,但是Displayable的是必须的,在Activity 中,要通过findViewById()来从XML 中取得View,Android的View类的显示很大程度上是从XML中读取的。View 与事件(event)息息相关,两者之间通过Listener 结合在一起,

每一个View都可以注册一个event listener,例如:当View要处理用户触碰(touch)的事件时,就要向Android框架注册View.OnClickListener。另外还有Image等同于J2ME的BitMap。

中介软件

操作系统与应用程序的沟通桥梁,并用分为两层:函数层(Library)和虚拟机(Virtual Machine)。 Bionic是 Android 改良libc的版本。Android 同时包含了Webkit,所谓的Webkit 就是Apple Safari 浏览器背后的引擎。Surface flinger 是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的Bionic Libc。

Android采用OpenCORE作为基础多媒体框架。OpenCORE可分7大块:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。 Android 使用skia 为核心图形引擎,搭配OpenGL/ES。skia与Linux Cairo功能相当,但相较于Linux Cairo, skia 功能还只是雏形的。20xx年Skia公司被Google收购,20xx年初,Skia GL源码被公开,目前Skia 也是Google Chrome 的图形引擎。

Android的多媒体数据库采用SQLite数据库系统。数据库又分为共用数据库及私用数据库。用户可通过ContentResolver类(Column)取得共用数据库。

Android的中间层多以Java 实现,并且采用特殊的Dalvik 虚拟机(Dalvik Virtual Machine)。Dalvik虚拟机是一种“暂存器型态”

(Register Based)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。

Dalvik虚拟机可以有多个实例(instance), 每个Android应用程序都用一个自属的Dalvik虚拟机来运行,让系统在运行程序时可达到优化。Dalvik 虚拟机并非运行Java字节码(Bytecode),而是运行一种称为.dex格式的文件。

硬件抽像层 (Hardware Abstraction Layer)

Android 的 HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL 的目的是为了把 Android framework 与 Linux kernel 隔开,让 Android 不至过度依赖 Linux kernel,以达成 kernel independent 的概念,也让 Android framework 的开发能在不考量驱动程序实现的前提下进行发展。

HAL stub 是一种代理人(proxy)的概念,stub 是以 *.so 档的形式存在。Stub 向 HAL“提供”操作函数(operations),并由 Android runtime

向 HAL 取得 stub 的 operations,再 callback 这些操作函数。HAL 里包含了许多的 stub(代理人)。Runtime 只要说明“类型”,即 module ID,就可以取得操作函数。

编程语言

Android 是运行于 Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。Android 为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程序移到 userspace,使得Linux driver 与 Linux kernel彻底分开。bionic/libc/kernel/ 并非标准的kernel header files。Android 的 kernel header 是利用工具由 Linux kernel header 所产生的,这样做是为了保留常数、数据结构与宏。

目前Android 的 Linux kernel控制包括安全(Security),存储器管理(Memory Management),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型(Driver Model)等。下载Android源码之前,先要安装其构建工具 Repo来初始化源码。Repo 是 Android 用来辅助Git工作的一个工具。

系统版本

Android 1.1

发布时间:发布于 2008 年9月

代表手机:htc T-MOBILE G1

Android 1.5 Cupcake

发布于 2009 年 5 月

代表手机:摩托罗拉CLIQ

Android 1.6 Donut

2009 年 9 月发布

代表手机:索尼爱立信 X10,摩托罗拉A1680

Android 2.0 Eclair

2009 年 10 月 26 日

代表机型:摩托罗拉XT800,摩托罗拉里程碑

Android 2.1 Eclair

Android 2.1: 2009 年 10 月 26 日,又一个主要版本升级以创纪录的速度放出。这次,大版本升级到了Android 2.1 “Eclair.” Android 2.1主要特性:

提升硬件速度

更多屏幕以及分辨率选择

大幅度的用户界面改良

支持 Exchange活动墙纸

大幅改进虚拟键盘

蓝牙 2.1

Google 地图

Android 2.0.1 SDK 于 2009 年 12 月 3 日 发布,之后是2010 年 1 月 10 日的 2.1 版本。很多用户和围观群众可能会奇怪:“为什么 Android 会用甜点作为它们系统版本的代号?”,这个命名方法开始于 Andoird 1.5 发布的时候。作为每个版本代表的甜点的尺寸越变越大,然后按照字母数序:小蛋糕,甜甜圈还有松饼。之前人们预计 2.2 版本的代号会是“馅饼”,但这个被最终证明是错误的,“FroYo”(冻酸奶)才是 Android 2.2 这个伴随 Google Nexus One 发布的新版的最新代号。 Android 2.2 Froyo

谷歌于北京时间20xx年5月20日晚上10:30点在旧金山Moscone会展中心举办Google I/O 2010大会第二天的会议,Google正式发布了代号是“froyo 冻酸奶”的Android操作系统2.2版。

相对于上一版本的 改变:

1、整体性能大幅度的提升

2、3G网络共享功能。

3、Flash的支持。

4、App2sd功能。

5、全新的软件商店。

6、更多的Web应用API接口的开发。

Android 2.3 Gingerbread

北京时间20xx年12月7日凌晨,Google正式对外发布了他们的下一代智能手机操作系统Android 2.3也就被大家所熟知的Android Gingerbread系统。

主要更新包括:

游戏:增加了新的垃圾回收和优化处理事件,以提高对游戏的支持能力。原生代码可直接存取输入和感应器事件、EGL/OpenGL ES、OpenSL ES。新的管理窗口和生命周期的框架。

多媒体:支持VP8和WebM视频格式,提供AAC和AMR宽频编码,提供了新的音频效果器,比如混响、均衡、虚拟耳机和低频提升

通讯方式:支持前置摄像头、SIP/VOIP和NFC(近场通讯) 站在用户的角度看,这次更新的亮点主要有:

简化界面、速度提升:

更快更直观的文字输入:

一键文字选择和复制/粘帖:

改进的电源管理系统:

新的应用管理方式:

原生支持前置前置摄像头、互联网通话和NFC(近场通讯):

系统原生支持VoIP,可以在联系人里加入它的SIP帐户,然后直接通过系统来拨打VoIP电话。

增加下载管理器:

Android 2.4 Gingerbread

就像Android 2.0和2.1版本都使用Eclair(法式奶油夹心甜点)一样,Android 2.3和2.4将会共享Gingerbread(姜饼)代号。这两个版本之间的变化不会太大,但是会有不少功能更新。

目前已知的Android 2.4带来的更新包括更多的动画特效、更快的运行速度、软件通话降噪、视频聊天等。

Android 2.4系统不会是之前一直谣传的Android 3.0,其真正的版本号将会是Android 2.4。

Android 3.0 Honeycomb

20xx年2月3日凌晨,谷歌正式发布了专用于平板电脑的Android 3.0 Honeycomb系统。这是首个基于Android的平板电脑专用操作。首款采用Android3.0系统的是MOTO XOOM 。该机是摩托罗拉移动在20xx年1月5日,在美国拉斯维加斯 CES电子消费展推出的旗下首款平板电脑。 3.0系统特性

·专用于平板电脑 ·全新设计的UI增强网页浏览功能

·n-app purchases功能

·经过优化的Gmail电子邮箱;

·全面支持Google Maps

Android 3.1 Icecream?

?

预计于20xx年内发布。Android之父Andy Rubin微博辟谣将继续开源,又联想到4月3日Google网站上出现的Ice Cream图标,因为Google Android的全新版本“Ice Cream”,Ice Cream可能将在不久后公布。据传它的系统版本号将会是Android 3.1。这将是集合了Android 2.3 Gingerbread和Android 3.0 Honeycomb优势的混合版本。

Android历史

20xx年9月22日,美国运营商德国T-Mobile在纽约正式发布第一款Android手机——T-Mobile G1。该款手机为台湾宏达电(HTC)代工制造,是世界上第一部使用Android操作系统的手机,支持WCDMA/HSPA网络,理论下载速率7.2Mbps,并支持Wi-Fi。

20xx年9月初,摩托罗拉坐镇主场在旧金山举办的Giga OM 2009大会上携手T-Mobile正式发布了旗下首款搭载Android操作系统的智能手机---MOTO CLIQ ,在沉寂许久后的首次爆发吸引了全球无数用户的目光。如果说T-Mobile G1的出世开辟了Android领域先河的话,那么摩托罗拉CLIQ的发布则更多的被视为昔日手机霸主的强势回归!

20xx年10月28日正式发布了Android 2.0 智能手机操作系统,今天摩托罗拉和网络运营商Verizon共同宣布了首款采用Android 2.0的手机Droid

20xx年1月索尼爱立信首款Android机型X10上市

20xx年1月7日,Google在其美国总部正式向外界发布了旗下首款合作品牌手机Nexus One(HTC G5),并同时开始对外发售。

20xx年7月9日,美国NDP集团调查显示,Android系统已占据了美国移动系统市场28%的份额。

最新消息

北京时间3月25日消息,据国外媒体报道,谷歌周四表示,谷歌暂停开源Android3.0,并将暂时阻止小型手机生产商使用其Android 3.0“Honeycomb”系统,期限未定。

谷歌一位发言人通过电子邮件声明称,Honeycomb是专为平板电脑而非手机设计的,在该系统以开源形式发布前,还有很多工作要做。谷歌向《商业周刊》表示,推迟发布可能达数月之久。

谷歌称:“代号为Honeycomb的Android 3.0系统,是针对大屏幕设备和改进小软件、多任务、浏览、通知和客户化等功能而设计。虽然我们很高兴为平板电脑提供这些新功能,但交付给其他设备包括手机前我们有

更多的工作要做。我们决定暂不开放源代码。我们致力于将Android作为跨多设备类型的开放式平台来提供,并在准备好时公布源代码”。

这意味着小型手机制造商要使用Honeycomb将不得不等待一段时间。不过大型设备商如HTC和摩托罗拉,已经可以使用。这些设备制造商一般安装在平板电脑中。

对此,谷歌工程副总裁和Android主管安迪·鲁宾(Andy Rubin)表示:“为了制定平板电脑出货的时间表, 我们进行了一些折衷设计。我们不想思考如何在手机上运行同一个软件”。

鲁宾还表示,谷歌不想冒险“带来非常糟糕的用户体验”。今年2月在发布Honeycomb时,谷歌发言人称,目前是专为平板电脑设计,“以后这些功能将推广到手机上。手机版的新Android,可能不会被叫做“Honeycomb ”,也可能是与3.0不同的版本。”

开放手机联盟

为了推广Android,Google和几十个手机相关企业建立了开放手机联盟(Open Handset Alliance)。

联盟成员包括美国摩托罗拉公司、中国台湾HTC、韩国三星电子、NVIDIA、SiRF、Skype、联发科技MTK以及中国电信在内的34家技术和无线应用的领军企业。这34家企业中并不包含把持Symbian的Nokia公司,以及凭借着iPhone风光正在的Apple公司。微软没有加入,加拿大RIM和它的Blackberry也被挡在门外。

手机开放联盟大家庭成员名单:

1、手机和其他终端制造商

Motorola Mobility(摩托罗拉移动技术)- 美国

Sony Ericsson(索尼爱立信)- 英国

HTC(宏达国际电子)- 中国台湾

Samsung Electronics(三星电子)- 韩国

LG Electronics(LG电子)- 韩国

Lumigon (丹麦陆力更手机公司)- 丹麦

ARCHOS(爱可视)- 法国

TOSHIBA(东芝)- 日本

2、移动运营商

China Telecom(中国电信)- 中国

China Mobile(中国移动)- 中国

China Unicom(中国联通)- 中国

SK Telecom - 韩国

KT - 韩国

LG U - 韩国

KDDI - 日本

NTT DoCoMo(日本电信电话公司)- 日本

Sprint Nextel(美国斯普林特Nextel公司)- 美国 Telecom Italia(意大利电信)- 意大利

Telefónica - 西班牙

T-Mobile - 德国

3、半导体公司

ARM- 英国

Texas Instruments(德州仪器)- 美国

Qualcomm(高通)- 美国

NVIDIA(英伟达)- 美国

MediaTek(联发科)- 中国台湾

ST(意法半导体)- 欧洲

Infineon(英飞凌科技)- 德国

ST-Ericsson(ST爱立信)- 欧洲

Audience (听众)- 美国

Broadcom (博通)- 美国

Intel(英特尔)- 美国

Marvell (俊茂微电子)- 美国

SiRF(瑟夫)- 美国

Synaptics(新思)- 美国

HP(惠普)- 美国

4、软件公司

Aplix - 日本

Ascender - 美国

Skype(eBay)- 美国

Esmertec(微迅)- 瑞士

Living Image - 美国

NMS Communications - 加拿大

Noser Engineering AG - 德国

Nuance Communication - 美国

PacketVideo - 美国

SkyPop - 美国

Sonix Network - 美国

The Astonishing Tribe - 瑞典

Wind River Systems(风河)- 美国

Android平台经理谈20xx年Android发展路线图

Google Android平台经理Eric Chu明白虽然android智能手机用户在快速增长,但是付费应用的交易数量却表现惨淡。在圣弗朗西斯科举行的Inside Social Apps会议上,Chu明确表示Google对付费应用交易完全不满意。

虽然目前对于Google在20xx年的Android发展战略仍缺乏具体地消息(Chu表示“敬请期待进一步消息”),但大致可以才想到Google会在下面几个方面发力。

In——app payments system(应用内交易系统):

Chu表示本季度Android将推出应用内交易系统,一年前苹果也有此类举措。在应用内交易系统中,用户在应用内购买(译者:比如购买更多的功能或游戏装备等等),这将有助于开发者利用发展迅速的虚拟货物移动市场来实现盈利。

Carrier billing(运营商计费):

12月,Google推出AT&T计费系统,用户可以通过手机话费来为应用付费,不需要采用另外一种支付系统。希望Google能在全球与更多的运营商进行类似的合作,Chu如此表示,另外还说与运营商建立付费系统虽然昂贵且耗时,但是对于用户来说是个很有价值的功能,同时也可以提高Android 应用的交易额。

Improve user discovery of apps in Market:

Chu表示已经有一个团队在负责剔除Android Market中的劣质应用,还表示将制定市场排名算法以帮助用户更方便地发现最好的应用。 Getting social(社会化):

Chu表示为了使得市场和Android更加社会化,Google将推出“最好的社交图”——Android address book(安卓通讯录),并且对开发者开发。Android address book将聚合了多渠道的用户联系人 ,而不仅仅是Google自己的通讯录。

Android平台五大优势特色

一、开放性

在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。 开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开

放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。

二、挣脱运营商的束缚

在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。自从

iPhone上市,用户可以更加方便地连接网络,运营商的制约减少。随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈。

三、丰富的硬件选择

这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。好比你从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移。

四、不受任何限制的开发商

Android平台提供给第三方开发商一个十分宽泛、自由的环境。因此不会受到各种条条框框的阻挠,可想而知,会有多少新颖别致的软件会诞生。但也有其两面性,血腥、暴力、情色方面的程序和游戏如何控制正是留给Android难题之一。

五、无缝结合的Google应用

如今叱咤互联网的Google已经走过10年度历史。从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。

更多相关推荐:
Android横屏竖屏切换的问题

一禁止横竖屏转换Android横竖屏切换在手机开发中比较常见很多软件在开发过程中为了避免横竖屏切换时引发不必要的麻烦通常禁止掉横竖屏的切换通过在AndroidManifestxml中设置activity中的an...

Android 禁止横屏竖屏切换模式

Android禁止横屏竖屏切换模式对于可能需要禁止横屏和竖屏模式之间的切换我们可以在AndroidManifestxml里面加入这一行androidscreenOrientationquotlandscapeq...

Android 模拟器横屏竖屏切换设置

Android模拟器横屏竖屏切换设置Android模拟器旋转横屏竖屏切换设置android横屏布局android横屏模式android模拟器android模拟器横屏android模拟器横屏切换介绍Android...

Android横竖屏切换总结

Android横竖屏切换总结Android横竖屏要解决的问题应该就两个1布局问题如果不想让软件在横竖屏之间切换最简单的办法就是在项目的AndroidManifestxml中找到你所指定的activity中加上a...

Android横屏竖屏切换的问题

要让程序界面保持一个方向不随手机方向转动而变化的处理办法在AndroidManifestxml里面配置一下就可以了加入这一行androidscreenOrientationquotlandscapequot例如...

Android横竖屏切换和自适应屏幕

Android横竖屏要解决的问题应该就两个一布局问题二重新载入问题1布局问题如果不想让软件在横竖屏之间切换最简单的办法就是在项目的AndroidManifestxml中找到你所指定的activity中加上and...

Android自适应屏幕大小和layout布局(横屏竖屏)

一不同的layoutAndroid手机屏幕大小不一有480x320640x360800x480怎样才能让App自动适应不同的屏幕呢其实很简单只需要在res目录下创建不同的layout文件夹比如layout640...

Android 适配不同分辨率&hdpi、mdpi、ldpi&横屏竖屏

一不同的layoutAndroid手机屏幕大小不一有480320640360800480怎样才能让App自动适应不同的屏幕呢其实很简单只需要在res目录下创建不同的layout文件夹比如layout640360...

android适配不同分辨率&hdpi、mdpi、ldpi&横屏竖屏

适配不同分辨率amphdpimdpildpiamp横屏竖屏目录一不同的layoutAndroid手机屏幕大小不一有480x320640x360800x480怎样才能让App自动适应不同的屏幕呢其实很简单只需要在...

android布局总结1

android界面布局很好的一篇总结转热度15已有727次阅读20xx371417个人分类android开发基础篇android布局出处awenhomearchive20xx12292305813html布局在...

android 错误信息解决方案总结

Android开发错误信息与解决方案汇总错误信息20xx0119163910ApiDemosWARNINGApplicationdoesnotspecifyanAPIlevelrequirement20xx01...

android期末总结新1

填空1Android的四大组件是哪些它们的作用答ActivityserviceContentProviderBroadCastReceiverActivity是Android程序与用户交互的窗口是Android...

android横屏竖屏切换总结(12篇)