zoukankan      html  css  js  c++  java
  • 安卓手机的屏幕规格很多。app开发者在设计User Interface的时候,要怎么处理,才能适应不同屏幕大小?

    在app store下载应用时经常看到:此App已针对iPhone 5 进行优化。
    可是Android手机屏幕规格这么多,相差这么远。难道要针对每个尺寸都进行一次优化吗?(题主非专业人士,看到2014年Android碎片化报告里面的屏幕碎片化,好奇想了解一下,求大神回复)

    -----------2 个回答

    首先,不用绝对单位PX
    绝对单位PX在不同分辨率下的表现大相径庭,无法适配各种屏幕。

    要用相对单位DP来定义元素的尺寸
    dp 这个单位是安卓发明的么?为什么 px=dp*(dpi/160)?

    DP的大小,和设备的声明DPI有直接关系。
    而设备的DPI如果和屏幕的物理PPI越接近,效果就越理想化。

    DPI有很多档次,120 dpi、160 dpi、240 dpi、320 dpi、480dpi、640dpi
    越高代表屏幕点密度越高,现在有很多手机系统声明的dpi已经达到480级别。

    ---------------------------------------------------------------------------------------------

    题主问 “要怎么处理,才能适应不同屏幕大小?”
    基本上可以简单解释为:
    通过设备dpi的声明,和设计上dp的标注,来判断某个元素应该渲染成多大(像素px)的面积,来适配不同屏幕大小和像素密度。

    密度
    本来就是一个物理面积和像素数的关系,所以这个密度值,可以为不同尺寸不同分辨率的设备提供一个界面布局的参考。

    前提是设备声明的dpi是接近自身的硬件ppi的。

    明显的例子就是魅族,比如MX3,屏幕物理ppi应该是接近400,所以他们声明dpi也是400(非安卓标准的480)
    这样的结果就是MX3上同样的界面(比如Play store),和物理尺寸分辨率都非常接近的其他手机相比(声明dpi480的那些),看起来更小,可以展示更多的内容,充分利用了屏幕,并且在用户使用中会感觉更精致。

  • 相关阅读:
    Using Boost C++ libraries with gcc g++ under Windows(cygwin+netbeans)
    RFC中文目录
    GNU Make 学习笔记(一)
    make
    ODBC连接ORACLE数据库的设置
    windows下boost开发环境简易教程(cygwin+eclipse)
    GNU Make(二)
    C++虚函数表解析(转)
    如何判断adoquery中字段值是不是空值?
    Delphi ListView基本用法大全
  • 原文地址:https://www.cnblogs.com/mochaMM/p/5148785.html
Copyright © 2011-2022 走看看