Android一些关于分辨率和布局的设置

简介:

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标签支持多种屏幕显示:

1
2
3
4
5
6
7
8
< 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

本文转自欢醉博客园博客,原文链接http://www.cnblogs.com/zhangs1986/p/3207665.html如需转载请自行联系原作者


欢醉

相关文章
|
1月前
|
XML Android开发 数据格式
android点击FrameLayout、LinearLayout等父布局没响应的原因以及解决方案
android点击FrameLayout、LinearLayout等父布局没响应的原因以及解决方案
32 2
|
1月前
|
Android开发
Android梅花布局
Android梅花布局
22 1
|
2月前
|
Android开发
android 布局常见调整手段,怎样查看margin,padding等等
android 布局常见调整手段,怎样查看margin,padding等等
17 0
|
3月前
|
监控 安全 Android开发
【新手必读】Airtest测试Android手机常见的设置问题
【新手必读】Airtest测试Android手机常见的设置问题
|
1月前
|
编解码 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)1
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)
62 1
|
19天前
|
存储 Java Android开发
Android系统 设置第三方应用为默认Launcher实现和原理分析
Android系统 设置第三方应用为默认Launcher实现和原理分析
40 0
|
1月前
|
XML Android开发 数据格式
Android六大布局
Android六大布局
37 1
|
1月前
|
编解码 开发工具 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
37 2
|
2天前
|
开发框架 搜索推荐 .NET
Android之ListActivity 布局与数据绑定
Android之ListActivity 布局与数据绑定
|
2天前
|
Android开发 容器
Android Layout 布局
Android Layout 布局