成都创新互联网站制作重庆分公司

Android屏幕适配总结-创新互联

长期以来,适配都是Android开发人员的通病,Android的开源导致了Android的多样化,各大手机厂商对Android系统进行了深度定制,根据自己需求,开发出各种各样尺寸的手机。这些各种各样尺寸的手机,无疑给我们这些开发人员添了很多麻烦,到底怎样才能做到更好的适配呢,以下是本人适配总结,如果有欠缺或不对的地方,还望指出与海涵。

北川羌族ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
  1. 首先先知道基础概念

   屏幕大小(screen size):屏幕的实际大小,用屏幕对角线长度来衡量。ndroid把屏幕分为以下4种:small(小                屏),normal(正常屏),large(大屏),extra large(特大屏)。

   屏幕密度(Screen Density):一块实际的屏幕区域有多少个像素,一般用dpi衡量(每英寸有多少个点)。相比                  起medium、high屏幕密度的设备,在一块确定大小的屏幕区域l密度为low的屏                  幕拥有的像素更少。

   方向(orientation):屏幕方向分为landscape(横屏)和portrait(竖屏)。

   分辨率(Resolution) : 屏幕上的总实际像素数。对屏幕进行适配时,一般不关注它的分辨率,只关注它的屏               幕大小和密度。

   与密度无关的像素(Density-independent pixel,dp或dip): 为了保证你的UI适合不同的屏幕密度,建议你采                               用dp来定义程序UI。

  计算方法:

	public static int dip2px(Context context, float dipValue) {
		final float scale = context.getResources().getDisplayMetrics().density;
		return (int) (dipValue * scale + 0.5f);
	}

	public static int px2dip(Context context, float pxValue) {
		final float scale = context.getResources().getDisplayMetrics().density;
		return (int) (pxValue / scale + 0.5f);
	}

 android把屏幕密度分为4种:low,medium,high,extra high。各dpi代表的密度:ldpi:120 mdpi:160 hdpi:240  xdpi:320 xxdpi:480 你可以根据下面的方法获取你手机的密度

        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)
        System.out.println("width:"+width+"\nheight:"+height+"\n屏幕密度:"+density+"\n屏幕密度DPI:"+densityDpi);

2. 具体的适配方法

首先需要在Manifest里面需要设置支持屏幕类型

1、对应用图标的适配:

            hdpi  72*72 | ldpi  36*36 | mdpi  48*48 | xdpi  96*96 | xxdpi 120*120

2、对不同屏幕进行适配

  1. 在res目录下面创建不同的layout文件夹,例如:layout-large 也可以根据分辨率创建如layout-480x800 ,然后放响应的xml文件即可

  2. 可以对不同密度的手机提供不同的图片(建议使用)因为很多时候如果你做的应用,图片很多的话,一套图是肯定满足不了的,因为可能低密度显示没问题,但是较高密度手机就会显示很小

  3. 另外界面适配很大一部分也取决于你的布局,要学会灵活的使用四大布局 尽量多的使用wrap_content match_parent dp ,多分析一下界面的设计, 有时候能起到事半功倍的作用。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:Android屏幕适配总结-创新互联
本文来源:http://cxhlcq.com/article/ccpopj.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部