- 浏览: 57689 次
- 性别:
- 来自: 成都
文章分类
最新评论
屏幕大小:
一:不同的layout
Android手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让App自动适应不同的屏幕呢?
其实很简单,只需要在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用。
注意:800x480中的x是英文字母x,而且大的数字在前(比如800在前,480在后)。
二:hdpi、mdpi、ldpi
在之前的版本中,只有一个drawable,而2.1版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三个,这三个主要是为了支持多分辨率。
drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
(3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。
在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。
屏幕方向:
横屏竖屏自动切换:
可以在res目录下建立layout-port和layout-land两个目录,里面分别放置竖屏和横屏两种布局文件,这样在手机屏幕方向变化的时候系统会自动调用相应的布局文件,避免一种布局文件无法满足两种屏幕显示的问题。
不切换:
以下步骤是网上流传的,不过我自己之前是通过图形化界面实现这个配置,算是殊途同归,有空我会把图片贴上来。
还要说明一点:每个activity都有这个属性screenOrientation,每个activity都需要设置,可以设置为竖屏(portrait),也可以设置为无重力感应(nosensor)。
要让程序界面保持一个方向,不随手机方向转动而变化的处理办法:
在AndroidManifest.xml里面配置一下就可以了。加入这一行android:screenOrientation=\"landscape\"。
例如(landscape是横向,portrait是纵向):
Java代码:
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"
package=\"com.ray.linkit\"
android:versionCode=\"1\"
android:versionName=\"1.0\">
<application android:icon=\"@drawable/icon\" android:label=\"@string/app_name\">
<activity android:name=\".Main\"
android:label=\"@string/app_name\"
android:screenOrientation=\"portrait\">
<intent-filter>
<action android:name=\"android.intent.action.MAIN\" />
<category android:name=\"android.intent.category.LAUNCHER\" />
</intent-filter>
</activity>
<activity android:name=\".GamePlay\"
android:screenOrientation=\"portrait\"></activity>
<activity android:name=\".OptionView\"
android:screenOrientation=\"portrait\"></activity>
</application>
<uses-sdk android:minSdkVersion=\"3\" />
</manifest>
另外,android中每次屏幕的切换动会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置,那样,进行中的游戏就不会自动重启了!
有的程序适合从竖屏切换到横屏,或者反过来,这个时候怎么办呢?可以在配置Activity的地方进行如下的配置android:screenOrientation=\"portrait\"。这样就可以保证是竖屏总是竖屏了,或者landscape横向。
而有的程序是适合横竖屏切换的。如何处理呢?首先要在配置Activity的时候进行如下的配置:android:configChanges=\"keyboardHidden|orientation\",另外需要重写Activity的onConfigurationChanged方法。实现方式如下,不需要做太多的内容:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
// land do nothing is ok
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
// port do nothing is ok
}
}
一:不同的layout
Android手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让App自动适应不同的屏幕呢?
其实很简单,只需要在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用。
注意:800x480中的x是英文字母x,而且大的数字在前(比如800在前,480在后)。
二:hdpi、mdpi、ldpi
在之前的版本中,只有一个drawable,而2.1版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三个,这三个主要是为了支持多分辨率。
drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
(3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。
在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。
屏幕方向:
横屏竖屏自动切换:
可以在res目录下建立layout-port和layout-land两个目录,里面分别放置竖屏和横屏两种布局文件,这样在手机屏幕方向变化的时候系统会自动调用相应的布局文件,避免一种布局文件无法满足两种屏幕显示的问题。
不切换:
以下步骤是网上流传的,不过我自己之前是通过图形化界面实现这个配置,算是殊途同归,有空我会把图片贴上来。
还要说明一点:每个activity都有这个属性screenOrientation,每个activity都需要设置,可以设置为竖屏(portrait),也可以设置为无重力感应(nosensor)。
要让程序界面保持一个方向,不随手机方向转动而变化的处理办法:
在AndroidManifest.xml里面配置一下就可以了。加入这一行android:screenOrientation=\"landscape\"。
例如(landscape是横向,portrait是纵向):
Java代码:
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"
package=\"com.ray.linkit\"
android:versionCode=\"1\"
android:versionName=\"1.0\">
<application android:icon=\"@drawable/icon\" android:label=\"@string/app_name\">
<activity android:name=\".Main\"
android:label=\"@string/app_name\"
android:screenOrientation=\"portrait\">
<intent-filter>
<action android:name=\"android.intent.action.MAIN\" />
<category android:name=\"android.intent.category.LAUNCHER\" />
</intent-filter>
</activity>
<activity android:name=\".GamePlay\"
android:screenOrientation=\"portrait\"></activity>
<activity android:name=\".OptionView\"
android:screenOrientation=\"portrait\"></activity>
</application>
<uses-sdk android:minSdkVersion=\"3\" />
</manifest>
另外,android中每次屏幕的切换动会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置,那样,进行中的游戏就不会自动重启了!
有的程序适合从竖屏切换到横屏,或者反过来,这个时候怎么办呢?可以在配置Activity的地方进行如下的配置android:screenOrientation=\"portrait\"。这样就可以保证是竖屏总是竖屏了,或者landscape横向。
而有的程序是适合横竖屏切换的。如何处理呢?首先要在配置Activity的时候进行如下的配置:android:configChanges=\"keyboardHidden|orientation\",另外需要重写Activity的onConfigurationChanged方法。实现方式如下,不需要做太多的内容:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
// land do nothing is ok
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
// port do nothing is ok
}
}
发表评论
-
TextView 的属性
2013-04-17 17:45 556收集到了TextView 的属性 ... -
ADT在线安装
2012-11-09 09:53 780注:转载自http://blog.csdn.net/kieve ... -
android 界面布局 很好的一篇总结 【转】
2012-04-26 15:24 916出处:http://www.cnblogs.com/awe ... -
android xml属性大全
2012-03-15 09:12 1012Android activity属性 android:all ... -
Intent常用Uri
2012-01-21 09:37 801一、打开一个网页,类别是Intent.ACTION_VIEW ... -
android raw读取超过1M文件的方法
2011-11-01 15:48 822转载自:http://www.cnblogs.com/yaos ... -
Android Bitmap用法总结
2011-10-09 10:57 963转载自:http://blog.csdn.net/zhou69 ... -
Android之TextView------属性大全
2011-09-22 16:32 683android:autoLink设置是否当 ... -
Android内存泄漏简介
2011-09-09 16:28 805前言 不少人认为JAV ... -
Android的Parcel机制
2011-09-06 15:09 4017转载至:http://blog.csdn.net/caowen ... -
Android Context
2011-09-01 17:12 917在android中context可以作很多操作,但是最主要的功 ... -
android面试题
2011-06-27 11:57 9811.什么是Activity? 2.请描 ... -
android中的hdpi,ldpi,mdpi
2011-06-17 14:31 658Android2.1 和之后的版本 中的 drawable(h ... -
Android横竖屏
2011-06-08 11:22 855要解决的问题应该就两个: 一。布局问题; 二。重新载入问题。 ... -
访问android平台的通话记录CallLog
2011-06-01 15:31 1129转载自:http://android.tgbus.com/An ... -
Android软件权限知识普及
2011-05-27 11:08 859APK权限详细对照表 您的 ... -
Android调用WebService
2011-05-18 13:42 1059转载至:http://express.ruanko.com/r ... -
android实用代码片段
2011-05-06 10:58 7291. android获取到系统是24小时制还是12小时制 ... -
Android 应用程序退出的四种方法
2011-05-04 09:33 1464Android程序有很多Activi ... -
开发者不得不知的Android权限说明
2011-04-21 10:55 678程序执行需要读取到安全敏感项必需在androidmanifes ...
相关推荐
该文档详细说明了关于android设备屏幕分辨率大小的问题,为开发者开发应用中遇到的自适应问题提供帮助
一个手机UI开发方面对屏幕自适应的一些讲解和技巧介绍,虽然比较基础,但是对于很多人来说,里面的很多概念还是老搞不清楚。此文档里包括1、基础概念说明;2、Android的三种基本自适应方式;3、一点点必要的代码展现...
android安卓开发app如何做到自适应手机屏幕大小,适应不同分辨率的手机.zip
本文实例讲述了Android编程实现屏幕自适应方向尺寸与分辨率的方法。分享给大家供大家参考,具体如下: Android 屏幕自适应方向尺寸与分辨率,...Android 手机屏幕大小有 480×320 、640×360, 、800×480 ,怎样让 A
根据屏幕自适应视频大小不拉伸,可以根据屏幕宽高比来设置视频,以及长视频播放,优化播放界面,可以直接使用开发,如有疑问请留言,谢谢
本文讲述了Android自适应不同屏幕大小的全部方法。分享给大家供大家参考,具体如下: 本文将告诉你如何让你的应用程序支持各种不同屏幕大小,主要通过以下几种办法: 让你的布局能充分的自适应屏幕; 根据屏幕的...
如果你发现你怎么样去弄都不能把手机的界面布局做好,甚至你连怎么做都不知道的话,赶紧下载这个看看!
Android自适应屏幕大小和layout布局(横屏竖屏)[定义].pdf
安卓项目源码、论文、参考资料,适合毕业设计、课程设计、安卓开发学习、部分安卓开发问题参考
鉴于市场上用户的手机型号、种类、屏幕分辨率等参差不齐,传统方式根据主流系统分别开发相应的系统耗时又耗力,为了高效开发并节约开发项目成本,本文采用Android+HTML5相结合的方式进行移动端Web系统的设计研发工作...
Web 2.0 时代“群建共享”的理念促进了学习资源的快速增长,移动终端设备迅速普及,...设计了“学习元”的自适应呈现模型,并 基于该模型在Android 操作系统上初步开发了“学习元”平台移动学习客户端。
前言: ... 你是否也曾遇到这样的情况:三五好友想要来个合影,用手或自拍杆太短,定时拍摄又很难掌握时机,找人帮忙又太...在程序的UI界面上也做了优化,灯泡自适应屏幕大小,同时对横屏和竖屏采取了两种不同的布局设计。