android屏幕适配drawable,layout

原创 2015年07月06日 18:34:11

从开始安卓编程到现在一直在想着学习屏幕适配但又一直没能真的下点功夫学习,今天项目要求对三种不同的平板做适配才临时抱佛脚,有些心得,写出来给大家做参考。有问题的地方还请大家包容和指正。

android屏幕的适配除了多的使用相对布局之外(并不是一定要)主要就是项目下资源文件夹的相关适配。

要适配不同分辨率和屏幕大小的机型首先在manifest中加上

     <supports-screens
        android:smallScreens="true"
        android:largeScreens="true"
        android:xlargeScreens="true"
        android:anyDensity="true" />


drawable文件夹:安卓项目中有多个drawable文件夹,drawable-ldpi、drawable-mdpi等,将不同大小的资源图片放在不同的文件夹中,安卓系统会自动识别调用对应的drawable。

那到底什么情况下会调用哪个文件夹下的资源呢,这要看安装的手机的屏幕密度(dpi)是多少,一定是屏幕密度,并不是网上很多人说的分辨率!!!,dpi的简单查看方法:在Activity的oncreat方法中加入下述代码:

	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 dpi = metric.densityDpi;  // 屏幕密度DPI(120 / 160 / 240)
知道了dpi就知道到底引用了哪个drawable下的资源,ldpi指120,mdpi指160,hdpi指240,xhdpi指320。知道了这些你就知道该放多大的图在哪个文件夹了吧。

l ayout文件夹:drawable文件夹是根据屏幕密度来适配的,那些屏幕密度相同屏幕大小却不一样的如何适配呢?就用layout,在res目录下创建相应命名的layout文件夹,里边放置不同的xml布局文件。

还是那问题,到底什么情况下会使用相应的文件夹下的布局文件呢?首先要看layout的命名格式:

①横竖屏:layout-land|port
②分辨率:layout-1280x720(网上学习了一下并不止这一种命名,具体可以去细看)

其中1280x720是上文代码中的width和height,跟分辨率略有不同,因为部分机型有虚拟按钮。

这样在开发中中就能用不同的layout来做具体的适配。当时这里的介绍很不全面,大家也可补充一下,感谢!

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android——drawable、dpi、dip、px、缩放因子及屏幕适配

drawable与mipmapAndroid drawable微技巧,你所不知道的drawable的那些细节关于切图1、切一套(800*480) 一些小公司做的小应用可能只切了一套图,美工成...

iOS屏幕适配方案-Auto Layout

市场上的android手机五花八门,各种尺寸的屏幕让android程序猿们比较头疼。也有一些大神写了一些博客提出了自己的观点。iOS貌似也迎来了大屏6+,因此屏幕适配的问题也是有滴,因此苹果也有自己的...

iOS的多屏幕适配--Auto Layout与Size Classes

当我的新App面临着iPhone4、5、6、6P 四个系列机型适配时,感觉终于和Android一样了,多屏幕适配的问题终于来了。 想起Android众多的机型适配就有些嘘嘘,幸好,iOS有它的独特武器...

Android Drawable适配

0 前言:前两年Android手机机型碎片化问题非常严重,资源适配也是面试中经常会遇到的问题。随着Android的发展,市场的选择,手机厂商们也渐渐统一相关机型的配置,比如说手机分辨率,当然不排除一些...

Android drawable 适配细节

原文链接:http://blog.csdn.net/guolin_blog/article/details/50727753  读后感:文中提到的当将图片放到小于当前屏幕密度的文件中,图片显示时会被...

Android适配——drawable和values的加载规则

Google搞了一大套 dip、sp、mdpi、hdpi、xhdpi之类的这些东西,简单说来,就是为了让我们轻松实现“与设备密度无关的视觉大小一致性”,这里需要明确的“视觉大小一致性”,就是说无论是在...

玩转Android drawable图片适配

众所周知,Android机型众多,屏幕尺寸、分辨率各有不同。对于Android开发人员来说,如何提高APP中图片对各种机型的适配是基本技能之一。借着项目中遇到的图片适配问题,在总结项目时,就想着顺带把...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)