Android 屏幕自适应方向尺寸
最近感觉要被屏幕适配玩死了……
安卓的手机为虾米不能像苹果那样只有几个分辨率呢?为什么呢!!!!!!!阿门……
目前想到有两种解决办法……
第一种:
HTML5+CSS3+WebView交互……目前还在研究,空了放demo
第二种:
通过安卓UI自己的layout来处理:
1.屏幕界面布局
在 res 目录下创建不同的 layout(drawable也支持)文件夹,比如 layout-640x360 、layout-800x480 ,所有的 layout 文件在编译之后都会写入 R.java 里,而系统将根据屏幕的大小自己选择合适的 layout 进行使用
2.多分辨率支持
支持多分辨率有 mdpi、ldpi、hdpi 3个文件。
hdpi 里面存放高分辨率的图片,如 WVGA (480x800),FWVGA (480x854) ;(PS:偶很纠结480*854的分辨率,纠结啊!!!!)
mdpi 里面存放中等分辨率的图片,如 HVGA (320x480) ;
ldpi 里面存放低分辨率的图片,如 QVGA (240x320) 。
系统将根据机器的分辨率来分别到这几个文件夹里面去找对应的图片,在程序开发中,为了兼容不同平台不同屏幕,建议将不同版本图片根据需求存放在各自对应的文件夹中。
3.获得屏幕大小
- DisplayMetrics metric = new DisplayMetrics();
- getWindowManager().getDefaultDisplay().getMetrics(metric);
- int width = metric.widthPixels; // 屏幕宽度(像素)
- int height = metric.heightPixels; // 屏幕高度(像素)
- float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)
- int densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240)
话说在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,具体的内容如下:
- <supports-screens
- android:smallScreens="true"
- android:normalScreens="true"
- android:largeScreens="true"
- android:resizeable="true"
- android:anyDensity="true" />
4.还有自动横屏之类的,不准备支持了……恩~阿门……android:screenOrientation="portrait"全部竖着…
Android 屏幕自适应方向尺寸的更多相关文章
- 4种必须知道的Android屏幕自适应解决方案
文章来源:http://blog.csdn.net/shimiso/article/details/19166167 demo下载:http://www.eoeandroid.com/forum.ph ...
- 四种必须知道的Android屏幕自适应解决方案
一.细说layout_weight 目前最为推荐的Android多屏幕自适应解决方案. 该属性的作用是决定控件在其父布局中的显示权重,一般用于线性布局中.其值越小,则对应的layout ...
- 【iOS】屏幕旋转,屏幕自适应方向变化
1. iOS有四个方向的旋转,为了保证自己的代码能够支持旋转,我们必须首先处理一个函数: - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInter ...
- 用于做 Android 屏幕自适应的文章资源
Android Developer : (1) https://developer.android.com/training/multiscreen/index.html (2) https://de ...
- Android屏幕适配全攻略(最权威的官方适配指导)屏幕尺寸 屏幕分辨率 屏幕像素密度 dpdipdpisppx mdpihdpixdpixxdpi
Android屏幕适配全攻略(最权威的官方适配指导)原创赵凯强 发布于2015-05-19 11:34:17 阅读数 153734 收藏展开 转载请注明出处:http://blog.csdn.net/ ...
- Android系统自适应屏幕大小
1.屏幕相关概念1.1分辨率是指屏幕上有横竖各有多少个像素1.2屏幕尺寸指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸android将屏幕大小分为四个级别(smal ...
- Delphi 实现窗体自适应调整尺寸以适应不同屏幕分辩率的显示问题
给你一段代码,网上转的:unit uMyClassHelpers;//实现窗体自适应调整尺寸以适应不同屏幕分辩率的显示问题.// 陈小斌,2012年3月5日 interface Uses ...
- 获取Android屏幕尺寸、控件尺寸、状态栏/通知栏高度、导航栏高度
1.获取Android屏幕尺寸 我们能够通过getSize()方法获得屏幕的尺寸 Display display = getWindowManager().getDefaultDisplay(); P ...
- Android屏幕尺寸与度量单位(px,dp,sp)简介
MarkdownPad Document *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...
随机推荐
- 查看linux启动的线程信息
1.某一进程所有的线程个数.启动时间 ps max -o lstart,lwp,pid,nlwp,cmd|more lstart: STARTED time the command start ...
- HDU 4671 Backup Plan (2013多校7 1006题 构造)
Backup Plan Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total ...
- Delphi XE 4,Rad Studio XE 4 官方下载,更新Update 1(附破解)
http://blog.csdn.net/maxwoods/article/details/8842889 XE4 Update1 下载: http://altd.embarcadero.com/do ...
- Spring @PostConstruct和@PreDestroy实例
在Spring中,既可以实现InitializingBean和DisposableBean接口或在bean配置文件中指定 init-method 和 destroy-method 在初始化和销毁回调函 ...
- Mysql字符串连接函数 CONCAT()与 CONCAT_WS()
从数据库里取N个字段,然后组合到一起用“,”分割显示,起初想到用CONCAT()来处理,好是麻烦,没想到在手册里居然有提到 CONCAT_WS(),非常好用. CONCAT_WS(separator, ...
- pytest文档5-fixture之conftest.py
前言 前面一篇讲到用例加setup和teardown可以实现在测试用例之前或之后加入一些操作,但这种是整个脚本全局生效的,如果我想实现以下场景: 用例1需要先登录,用例2不需要登录,用例3需要先登录. ...
- node最简单的升级
1.安装n插件 npm install -g n //全局安装 2.升级 n stable //升级 3.packjson升级 npm i -g npm-upgrade 4.升级 npm-upgrad ...
- Computer Vision Tutorials from Conferences (2) -- ECCV
ECCV 2012 (http://eccv2012.unifi.it/program/tutorials/) Vision Applications on Mobile using OpenCVGa ...
- mysql求交集:UNION ALL合并查询,inner join内连接查询,IN/EXISTS子查询
两个要求交集的表(列)的结构要一致,对应的字段数,字段类型都应该相同:将两个数据的数据列用 UNION ALL 关键字合并:将上面的所有需要比较的列 GROUP BY :最后 HAVING COUNT ...
- GIF 屏幕录制工具
LICEcap是一款屏幕录制工具,支持导出 GIF 动绘图片格式,轻量级.使用简单,录制过程中能够任意改变录屏范围. .捕捉屏幕的区域并保存为.GIF动画(便于网络公布)或.L ...