一分钟了解Android横竖屏 mdpi hdpi xhdpi xxhdpi xxxhdpi

Posted jhcelue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一分钟了解Android横竖屏 mdpi hdpi xhdpi xxhdpi xxxhdpi相关的知识,希望对你有一定的参考价值。

DPI:每英寸像素数

简单的屏幕分辨率计算方法:

DisplayMetrics metrics = this.getResources().getDisplayMetrics();
float density = metrics.density;
int dpi = metrics.densityDpi;
int heightPixels = metrics.heightPixels;
int widthPixels = metrics.widthPixels;
Log.e("---metrics---", "比例:"+density+"dpi:"+dpi+"高像素:"+heightPixels+"宽像素:"+widthPixels);


dp与px计算图(mdpi  1dp=1px):

ldpi:1dp=0.75px  mdpi:1dp=1px  hdpi:1dp=1.5px  xhdpi:1dp=2px  xxhdpi:1dp=3px  xxxhdpi:1dp=4px

android手机屏幕标准                      相应图标尺寸标准      屏幕密度         比例

xxxhdpi 3840*2160                           192*192             640          16

xxhdpi 1920*1080                            144*144             480          12

xhdpi  1280*720                            96*96              320           8

hdpi   480*800                             72*72              240           6

mdpi   480*320                             48*48              160           4

ldpi   320*240                             36*36              120           3

注:Android studio mipmap目录仅仅存放启动图标icon

http://blog.csdn.net/a704755096/article/details/46342689

屏幕横竖屏布局切换:

1)单个布局xml直接横竖屏切换。不又一次载入数据:android:configChanges="orientation|keyboardHidden|screenSize"

2)layout-land和layout-port布局横竖屏切换。不又一次载入数据:FragmentActivity重写onRetainCustomNonConfigurationInstance()

Activity 重写onRetainNonConfigurationInstance()保存数据。在onCreate()时推断getLastNonConfigurationInstance()是否null:

Java代码  技术分享
  1. @Override  
  2. public void onCreate(Bundle savedInstanceState) {  
  3.     super.onCreate(savedInstanceState);  
  4.     setContentView(R.layout.main);  
  5.   
  6.     Object data = getLastNonConfigurationInstance();  
  7.     if (data == null) {  
  8.         findviewbyidLoadMyData();  
  9.     }  
  10.     ...  
  11. }  

很多其它:安卓图片动画(http://www.open-open.com/lib/view/open1335777066015.html)、点九图工具:

1.打开Android project包 SDK文件。tools文件,双击draw9patch.bat

2.弹出的窗体点击 File,点击要编辑的图片open 9patch 

3.编辑。鼠标左键:划线     /    shift + 鼠标左键:删除划线

4.保存。点击save 9patch









以上是关于一分钟了解Android横竖屏 mdpi hdpi xhdpi xxhdpi xxxhdpi的主要内容,如果未能解决你的问题,请参考以下文章

安卓UI适配限定符

用于 ldpi、mdpi、hdpi、xhdpi 显示器的 android 初始屏幕尺寸? - 例如:ldpi 为 1024X768 像素

如何将android位图别名为另一个尺寸的drawable(drawable-large-mdpi别名为drawable-hdpi)

Android游戏开发二十七讲解游戏开发与项目下的hdpi mdpi与ldpi资源文件夹以及游戏高清版本的设置

Android屏幕适配

适配方案适配的基础知识之单位分辨率viewport