[置顶] xamarin android 布局尺寸了解
为了使UI界面在不同大小的移动端显示器上能够正常显示,大家可能都知道使用sp作为字体大小的单位,dp作为其他元素长度的单位。
前几天看了一篇文章关于 App设计规范的,文章用心写的非常好,这里是链接 http://www.25xt.com/appdesign/10821.html 。但是费解的是所有的长度单位都是用px。好吧,“”原谅“这位UI设计师良心ps的一张app设计规范图。在UI布局的时候有必要了解一下android设备的适应了。
先来问大家几个问题,
1.android设备中有哪些 度量单位?
2.像素的最小单位是多少?
3.什么是屏幕分辨率?
4.什么是独立像素密度?
5.屏幕尺寸是指长和宽的物理尺寸?
说实在了,刚开始这几个问题我知道的也很模糊,也就知道个大概的样子。看了这篇文章你就明白了
1.屏幕尺寸
2.屏幕分辨率
虽然这个问题太基础了,的确。市场上主流分辨率有480*800 、720*1280、1080*1920。在计算机屏幕的水平和垂直方向上有 多少个像素,屏幕上显示的像素个数,单位尺寸内像素点越多,显示的图像就越清楚。单位是px,1px=1个像素点。看看苹果手机平布尺寸和分辨率吧。
| 苹果型号 | 主屏屏幕大小 | 系统 | 摄像 |
| iPhone1代 | 3.5英寸320×480像素 | iOS3.0 | 200万像素 |
|
iPhone2代 (iPhone 3G) |
3.5英寸320×480像素 | iOS3.0 | 200万像素 |
| iPhone 3GS | 3.5英寸480x320像素 | iOS3.0 | 300万像素 |
| iPhone4 | 3.5英寸960x640像素 | iOS5.0 | 500万像素 |
| iPhone4S | 3.5英寸960x640像素 | iOS7.0 | 700万像素 |
| iPhone 5 | 4英寸1136x640像素 | iOS6.0 | 800万像素 |
| iphone5s | 4英寸1136x640像素 | iOS7.0 | 800万像素 |
| iphone5c | 4英寸1136x640像素 | iOS7.0 | 800万像素 |
| iphone6 | 4.7英寸1334x750像素 | iOS8.0 | 800万像素 |
| iphone6s | 4.7英寸1334x750像素 | iOS9 | 1200万像素 |
| iphone6 plus | 5.5英寸1920x1080像素 | iOS8.0 | 800万像素 |
| iphone6s plus | 5.5英寸 1920x1080像素 | iOS 9 | 1200万像素 |
下面我们就来说说这些基本长度单位吧。
3.android中元素的常用度量单位dp
4.android不常用的度量单位px 、sp 、pt
5.android中常用的字体度量单位px和sp的区别:
但是在浏览器和移动设备中不能设置小于1像素单位的,即时设置小于1的,实际最终显示的结果也是四舍五入。在android中几乎不用px来作为字体大小的单位,用px的缺点很明显,在于它是一个绝对长度,在每英寸160点的显示器和在每英寸240的显示器字体大小不一样。如图在不同分辨率中,显示效果的物理大小还是有一定区别的
| android规范字号sp | 对应的像素高度px |
| 12 | 20 |
| 14 | 24 |
| 18 | 30 |
| 22 | 36 |
6.android尺寸适配原理:
drawable-xhdpi四个目录。好像java里面会自动创建,UI中的各种小图标在需要放在这些不同dpi中的文件夹,所以我们需要去创建这几个文件夹。
drawable-hdpi、drawable-mdpi、drawable-ldpi、drawable-xhdpi的区别:
(1)drawable-hdpi存放高分辨率的图片,如(480*800),(480x854)
(2)drawable-mdpi存放中等分辨率的图片,如 (320*480)
(3)drawable-ldpi存放低分辨率的图片,如(240*320)
(4)drawable-xhdpi 里面超高分辨率图片600*960
7.Android UI设计中的48dp定律原则
作者:张林
标题:xamarin android 布局尺寸了解 原文地址:http://blog.csdn.net/kebi007/article/details/72911176
转载随意注明出处
[置顶] xamarin android 布局尺寸了解的更多相关文章
- [置顶]
xamarin android自定义标题栏(自定义属性、回调事件)
自定义控件的基本要求 这篇文章就当是自定义控件入门,看了几篇android关于自定义控件的文章,了解了一下,android自定义控件主要有3种方式: 自绘控件:继承View类,所展示的内容在OnDra ...
- [置顶]
xamarin android自定义spinner
以前弄的一个下拉框时自带的spinner,感觉好丑,实际效果实在满足不了基本的UI界面要求,还是自己动手丰衣足食,看了网上关于android中自定义spinner的文章,感觉实现原理还是比较简单,所以 ...
- [置顶]
xamarin android Fragment实现底部导航栏
前段时间写了篇关于Fragment的文章,介绍了基础的概念,用静态和动态的方式加载Fragment Xamarin Android Fragment的两种加载方式.下面的这个例子介绍xamarin ...
- [置顶]
Xamarin android沉浸式状态栏
虽然关于android "沉浸式"状态栏有很多博客介绍过,从小菜到大神无一例外.我第一次看到这种"沉浸"式的效果我也以为真的是这么叫,然而根本不是这么回事,完全 ...
- [置顶]
Xamarin android中使用signalr实现即时通讯
前面几天也写了一些signalr的例子,不过都是在Web端,今天我就来实践一下如何在xamarin android中使用signalr,刚好工作中也用到了这个,也算是总结一下学到的东西吧,希望能帮助你 ...
- [置顶]
xamarin android toolbar(踩坑完全入门详解)
网上关于toolbar的教程有很多,很多新手,在使用toolbar的时候踩坑实在太多了,不好好总结一下,实在浪费.如果你想学习toolbar,你肯定会去去搜索androd toolbar,既然你能看到 ...
- [置顶]
xamarin android使用gps定位获取经纬度
看了文章你会得出以下几个结论 1.android定位主要有四种方式GPS,Network(wifi定位.基站定位),AGPS定位 2.绝大部分android国产手机使用network进行定位是没有作用 ...
- [置顶]
xamarin android使用zxing扫描二维码
好久没写了,这片文章篇幅不长,概述一下在xamarin android中用 ZXing.Net.Mobile库扫描二维码读取url的示例.扫码支付,扫码登录,App上各种各样的扫码,好像没个扫码的就有 ...
- [置顶]
Xamarin android如何调用百度地图入门示例(一)
在Xamarin android如何调用百度地图呢? 首先我们要区分清楚,百度地图这是一个广泛的概念,很多刚刚接触这个名词"百度地图api",的确是泛泛而谈,我们来看一下百度地图的 ...
随机推荐
- JSONP原理解析
前言 我工作以来接触的第一个项目就是前后端分离的,前端静态文件有自己独立域名,通过接口来获取数据进行渲染等操作. 跨域的方法不需要多言,随便一搜,就有很多,但最常用不外乎jsonp和CORS.json ...
- strcmp函数
strcmp函数用于c语言中两个字符串比较(只可以比较字符串,不可以比较数字) 规则 当s1>s2时,返回为正数: 当s1=s2时,返回值为0: 当s1<s2时,返回为负数: 两个字符串自 ...
- java MD5比较文件内容
最近用到,记下来…… 功能: 对指定目录下的所有TXT文件,通过MD5比较内容,删除掉重复的文件.文件的扩展可以修改成.docx..doc..jpg..png,或者其它类型,根据需求灵活修改. pub ...
- 应用教程之帕克西AR虚拟试妆3D动态美妆
帕克西技术团队通过对美妆行业深度调研,凭借自主研发的人脸识别与面部追踪等技术,打造的超现实AR虚拟试妆应用已成功上线,内置万千妆容,包含口红.眉毛.睫毛等,一点即可试妆,就像照镜子一样简单. 那么,帕 ...
- 51Nod 1267 4个数和为0 二分
给出N个整数,你来判断一下是否能够选出4个数,他们的和为0,可以则输出"Yes",否则输出"No".Input第1行,1个数N,N为数组的长度(4 <= ...
- js 实现div模块的截图并下载功能(可制作长图)
当需要实现html页面部分模块截图并具有保存图片功能时,前台直接生成截图并下载会方便的多.多的不说,直接看代码首先我们需要引入2个js文件: <script type="text/ja ...
- 关于pipelineDB调用GetLocalStreamReaders的BUG
如果想获取一个stream所有的reader,那么必须调用这个函数: Bitmapset *targets = GetLocalStreamReaders(relid); 如果stream下面没有re ...
- keepalived实现服务高可用
第1章 keepalived服务说明 1.1 keepalived是什么? Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可 ...
- ElasticSearch 学习记录之集群分片内部原理
分片内部原理 分片是如何工作的 为什么ES搜索是近实时性的 为什么CRUD 操作也是实时性 ES 是怎么保证更新被持久化时断电也不丢失数据 为什么删除文档不会立即释放空间 refresh, flush ...
- springboot(一)
1,使用springboot开发需要以下配置: : Maven | Gradle | Ant | Starters code工具:IDE | Packaged | Maven | Gradle 系统要 ...