2022年Android自适应屏幕大小和layout布局[定 .pdf
《2022年Android自适应屏幕大小和layout布局[定 .pdf》由会员分享,可在线阅读,更多相关《2022年Android自适应屏幕大小和layout布局[定 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一:不同的layout Android手机屏幕大小不一,有 480 x320, 640 x360, 800 x480.怎样才能让App 自动适应不同的屏幕呢?其实很简单,只需要在res 目录下创建不同的layout文件夹,比如layout-640 x360,layout-800 x480,所有的 layout文件在编译之后都会写入R.java 里,而系统会根据屏幕的大小自己选择合适的layout进行使用。二: hdpi 、mdpi 、ldpi 在之前的版本中,只有一个drawable,而 2.1 版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三个,这
2、三个主要是为了支持多分辨率。drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:(1)drawable-hdpi里面存放高分辨率的图片,如 WVGA (480 x800),FWVGA (480 x854) (2)drawable-mdpi里面存放中等分辨率的图片,如 HVGA (320 x480) (3)drawable-ldpi里面存放低分辨率的图片,如 QVGA (240 x320) 系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。更正:应该是对应不同density 的图片在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均
3、存放不同版本图片。i 备注:三者的解析度不一样,就像你把电脑的分辨率调低,图片会变大一样,反之分辨率高,图片缩小。/i 屏幕方向:横屏竖屏自动切换:可以在 res 目录下建立layout-port-800 x600和 layout-land两个目录,里面分别放置名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 竖屏和横屏两种布局文件,这样在手机屏幕方向变化的时候系统会自动调用相应的布局文件,避免一种布局文件无法满足两种屏幕显示的问
4、题。不同分辨率横屏竖屏自动切换:以 800 x600 为例可以在 res 目录下建立layout-port-800 x600和 layout-land-800 x600两个目录不切换:以下步骤是网上流传的,不过我自己之前是通过图形化界面实现这个配置,算是殊途同归,有空我会把图片贴上来。还要说明一点: 每个 activity都有这个属性screenOrientation, 每个 activity都需要设置,可以设置为竖屏(portrait),也可以设置为无重力感应(nosensor)。要让程序界面保持一个方向,不随手机方向转动而变化的处理办法:在 AndroidManifest.xml里面配置一
5、下就可以了。加入这一行android:screenOrientation=landscape。例如( landscape是横向, portrait是纵向):Java 代码 : 另外,android中每次屏幕的切换动会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次 Create 的时候载入配置,那样,进行中的游戏就不会自动重启了!有的程序适合从竖屏切换到横屏,或者反过来,这个时候怎么办呢?可以在配置Activity的地方进行如下的配置android:screenOrientation=portrait。 这样就可以保证是竖屏总是竖屏了,或者lan
6、dscape横向。而有的程序是适合横竖屏切换的。如何处理呢?首先要在配置Activity的时候进行如下的配 置: android:configChanges=keyboardHidden|orientation, 另外需要重写Activity的 onConfigurationChanged方法。实现方式如下,不需要做太多的内容:Override public void onConfigurationChanged(Configuration newConfig) super.onConfigurationChanged(newConfig); if (this.getResources().g
7、etConfiguration().orientation = Configuration.ORIENTATION_LANDSCAPE) / land do nothing is ok else if (this.getResources().getConfiguration().orientation = Configuration.ORIENTATION_PORTRAIT) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - /
8、 port do nothing is ok 写一个支持多分辨的程序,基于1.6 开发的,建立了三个资源文件夹drawable-hdpi drawable-mdpi drawable-ldpi,里面分别存放72*72 48*48 36*36的 icon 图标文件。当我在 G1 (1.5 的系统)上测试时, 图标应该自适应为48*48 才对啊,但实际显示的是36*36 。怎么才能让其自适应48*48 的 icon 图标呢解决办法drawable-hdpi drawable-mdpi drawable-ldpi改成 drawable-480X320 drawable-800X480的多分辨支持的文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年Android自适应屏幕大小和layout布局定 2022 Android 自适应 屏幕 大小 layout 布局
限制150内