1、Android手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让App自动适应不同的屏幕呢?
drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
(3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
测试的时候可以设定模拟器的分辨率
知道了手机屏幕手机大小的分类以后,就开始着手设计自己的程序:
(a) 配置manifest
文档位置android-sdk-windows/docs/guide/topics/manifest/supports-screens-element.html,可以查看Multiple Screens Support.的设置,在manifest 中,加入supports-screens标签支持多种屏幕显示:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"><supports-screens android:largescreens="true" android:normalscreens="true" android:smallscreens="true" android:resizable="true" android:anydensity="true"></supports-screens></manifest>
(b)创建自己的layout
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。 还要在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用。
在我的项目里创建的是layout-large,(注意!这里有个插曲,我创建好layout-large以后发现使用800.480的屏幕还是调用默认的layout,最后才发现layout-large里面所用的资源,一定要放入drawable-hdpi里面)
2、重力感应设置:常规的显示为HVGA-P(port),即分辨率为320x480如果使用横屏(land)。如果模拟器尚未启动,可以在Eclipse的项目Run as=>Open Run Dialog对话框中设置,如果android模拟器已经启动后,可以使用快捷键F12或Ctrl+F11来切换。
3、布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的 AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数:
"unspecified"
默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向.
"landscape"
横屏显示(宽比高要长)
"portrait"
竖屏显示(高比宽要长)
"user"
用户当前首选的方向
"behind"
和该Activity下面的那个Activity的方向一致(在Activity堆栈中的)
"sensor"
有物理的感应器来决定。如果用户旋转设备这屏幕会横竖屏切换。
"nosensor"
忽略物理感应器,这样就不会随着用户旋转设备而更改了 ( "unspecified"设置除外 )。
有的可能是程序设置的问题,如果想要屏幕保持竖屏,只设置android:screenOrientation,程序就回自动关闭。这时候可以通过设置android:configChanges="orientation|keyboardHidden" 来解决,activity的具体属性,
可以参考andriod doc:
/android-sdk-windows/docs/guide/topics/manifest/activity-element.html
4,http://java-admin.iteye.com/blog/730863上面还有几个方面比较详细,可以参考。
- 大小: 143.4 KB
分享到:
相关推荐
Android 屏幕适配方案,自动生成不同分辨率的值
android多屏幕多分辨率适配,告诉你怎么创建正确的布局资源
http://blog.csdn.net/ddnosh/article/details/78941302
Android 屏幕自适应方向尺寸与分辨率,包括屏幕界面布局、多分辨率支持、获取屏幕尺寸、屏幕横屏与竖屏等,android 模拟器横屏,android 虚拟机横屏,android 判断横屏,android 禁止横屏,android 强制横屏,...
android多分辨率适配 ,判断平板还是手机,等比例缩小图片.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
rem布局实现不同分辨率移动终端的自适应、整体缩放 rem布局实现不同分辨率移动终端的自适应、整体缩放
第三步:开始写布局文件,写的时候如果有要设置大小,则不要直接写成如:android:layout_width:"20dp"的形式,应该写成:android:layout_width:"@dimen/DIG_20PX",注意这里如果是设置背景图片,则大小是图片的大小...
–这一切看起来似乎很正常的样子,但是在android studio的布局文件的布局情况只能与模拟器运行效果、真机界面运行效果这两种效果中的一个相匹配。说白了布局文件在模拟器上运行出满意的效果,但运行到真机界面上的...
由于Android设备的屏幕碎片化比较严重,所以在做一些屏幕适配上的问题比较棘手。于是,本人写了这样一个小程序,用于解决屏幕碎片的问题。主要是利用了这样一个思路:我们可以把每一个手机的横向分成320份,每一个...
本人业余开发的一款基于android平台的录音机,由于图片资源分辨率的原因,在480*320分辨率或更低分辨率的机器上可以正常显示布局
以前在公司做项目的时候,遇到了分辨率的适配问题,说起来当时挺纠结的,因为没有外网,所以这个问题,都是黑暗中摸索的,尝试了许多方法,最后和徒弟们一起搞出了这个方法,具体行不行,先和大家分享下,这个方法不...
基于Android opencv实现的相机应用,不过该版只是初版,完成基本布局
针对android不同尺寸,不同分辨率做的百分比布局。
下载这些不同屏幕对应的demens目录和文件到自己项目的res目录下,布局中控件设置宽高的时候类似这样调用android:layout_width="@dimen/dp_45"就可以
Android Studio是一款...编辑器提供了实时预览功能,可以即时查看布局在不同屏幕尺寸和分辨率下的效果。 版本控制系统集成: Android Studio内置了对版本控制系统的支持,如Git和SVN,使开发者能够轻松管理代码版本、
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
安卓源码包 UI布局 textView SQLSEVER&安卓 Tab选项卡Android例子源码 33个合集: [四次元]Android ViewPager Fragment实现选项卡.rar [四次元]Android 操作数据库实例.zip [四次元]android 通过jdts.jar 连接SQL...