`

android适配多分辨率的小技巧

 
阅读更多
android多分辨率适配其实是老生常谈的话了,今天再拿出来炒个冷饭

背景:现在手机分辨率从480*800,到720*1280,再到1080*1920,最近三星的note4出来了,

都飙到2560*1440了。

从前适配多分辨率的话,用.9.png的图,用dp可以解决很多问题。。。

但随着手机厂家的不断升级硬件,以前的屏幕密度,density等等也在不断飙升。

上述的俩个方法也不能解决所有问题了。。你会发现明明是用了dp单位,用了.9的图,

分辨率同样为的1080p的两个手机显示效果可能大相径庭。

原因呢,还是因为手机密度不一样了,如下图所示


在我们建立工程的时候,android自动给我们建了这几个文件夹,用于放置不同的图片供不同

分辨率的手机调用,

mdpi desity 160,密度比为160/160 =  1
hdpi density 240, 密度比为240/160 =  1.5
xhdpi density 320, 密度比为320/160 =  2
xxhdpi density 480, 密度比为480/160 =  3



正常我们xml文件里设置的dp=10,如果在720*1280,desity为240的分辨率机器上显示正常

同样的apk我们拿到720*1280,desity为320的机器上,就会发现显示结果是有出入的。

症结就在于不同的density,当为240的时候dp=10显示正常,为320的时候dp就需要转化一下了

说了这么多才到正题。。。。

我们需要在res目录下建立类似下图的文件夹,来对应不同的分辨率,以及density。



不要被这么多文件夹吓坏,其实里边只有一个文件,内容大家也可以看到,只是转换下dp而已








转换的公式其实也很简单

譬如hdpi(480*800)--->(1.5)的dp为10,如果要转换成xhdpi-720*1280---->(2)的话,

就是((1.5*720)/(2*480))*10 .

同理如果要转换成xxhdpi-1080*1920 --->(3)

就是((1.5*1080)/(3*480))*10 .
layout_width = "@dimen/dp_10"


这样适配的时候就不会出错了!
  • 大小: 8.1 KB
  • 大小: 20.2 KB
  • 大小: 10.6 KB
  • 大小: 29.9 KB
0
1
分享到:
评论
1 楼 shizhangliao 2014-09-05  
     

相关推荐

    android分辨率适配源码+apk包

    在Android开发中,屏幕适配是一项重要的工作,尤其在当今多设备、多分辨率的时代。"android分辨率适配源码+apk包" 提供了一个解决这一问题的实例,它包含源码和可安装的APK应用,帮助开发者了解如何在Android应用中...

    分辨率适配Values文件

    在Android系统中,为了实现屏幕适配,开发者通常会创建多个版本的资源文件,这些文件根据不同的密度和屏幕尺寸进行组织。在描述提到的"适配——800_1280"、"适配——720_1280"、"适配——640_1175"这些压缩包子文件...

    Android高级应用源码-android多分辨率适配 ,判断平板还是手机,等比例缩小图片.rar

    本资源“Android高级应用源码-android多分辨率适配 ,判断平板还是手机,等比例缩小图片.rar”正是针对这些问题提供了相应的解决方案。 首先,我们来探讨Android多分辨率适配。Android系统支持多种屏幕尺寸,如小屏...

    Android-Android屏幕适配方案自动生成不同分辨率的值

    在Android应用开发中,屏幕适配是一个至关重要的环节,因为Android设备有着各种不同的屏幕尺寸和分辨率。本篇文章将深入探讨“Android-Android屏幕适配方案自动生成不同分辨率的值”这一主题,帮助开发者构建能够在...

    android安卓开发app如何做到自适应手机屏幕大小,适应不同分辨率的手机.zip

    在Android应用开发中,...遵循以上原则和技巧,开发者可以创建一个能够在各种Android设备上提供一致体验的应用程序,无论屏幕大小还是分辨率如何。同时,持续关注Android开发的最佳实践和新功能,以优化自适应策略。

    Android-针对Android屏幕适配所整合的几种常用方案

    在Android应用开发中,屏幕适配是一个至关重要的环节,因为Android设备有着丰富的屏幕尺寸和分辨率。本篇文章将详细探讨几种常见的Android屏幕适配方案,帮助开发者解决不同设备间界面显示不一致的问题。 1. **使用...

    android程序界面自动适应屏幕分辨率例子

    通过"HelloWord"项目的学习,开发者可以掌握创建适应各种屏幕尺寸和分辨率的Android应用的基本技巧,提升应用的用户体验。在实际开发中,还需要不断迭代和优化,以适应日益多样化的Android设备市场。

    电信设备-适配不同分辨率移动终端的应用程序界面绘制方法.zip

    "电信设备-适配不同分辨率移动终端的应用程序界面绘制方法"是一个专门探讨此问题的主题,它可能包含了一系列的策略、技巧和最佳实践。 1. **响应式设计**:响应式设计是适应多种分辨率的关键,其核心思想是根据设备...

    Android 主流手机适配方式

    在Android应用开发中,适配问题一直是...总的来说,Android手机适配涉及到多个层面,包括尺寸、分辨率、屏幕比例等,开发者需要熟练掌握Android的资源管理系统,结合设计原则和编程技巧,才能实现高质量的跨设备适配。

    Android游戏开发19 分辨率大全

    6. **尺寸适配技巧**:使用比例和权重来设计布局,可以避免在不同分辨率下出现元素过大或过小的问题。例如,使用`layout_weight`属性分配空间。 7. **Nine-Patch图像**:这种特殊的PNG图像格式可以自动拉伸,保持...

    Android安卓自定义RatingBar控件(解决了多分辨率问题,以及被截取或者有阴影的问题)

    1. **多分辨率适配**:Android设备的屏幕尺寸和密度多样,为了保证在各种设备上都能正确显示,我们需要在XML布局文件中使用dp单位来定义RatingBar的尺寸,而不是像素px。同时,可以创建不同的dimens.xml文件来存储...

    Android -小技巧手册

    15. **适配多分辨率和屏幕尺寸**:使用`dimens`资源文件、`dp`单位和`layout_weight`属性,实现不同设备上的良好显示效果。 以上这些知识点在"Android - 小技巧手册"中可能有所涵盖,通过学习和实践,开发者能够更...

    Android代码-一种非常好用的Android屏幕适配

    在Android应用开发中,屏幕适配是一个至关重要的环节,尤其对于多设备、多分辨率的环境。本项目"Android代码-一种非常好用的Android屏幕适配"提供了一种有效的解决方案,帮助开发者解决不同屏幕尺寸和像素密度下的...

    android屏幕适配

    2. **约束布局**:ConstraintLayout是Google推出的新一代布局工具,通过定义约束条件,可以实现更复杂、响应式的布局,尤其适合大屏设备和多分辨率的适配。 3. **百分比布局**:谷歌推出的百分比布局库,使得尺寸和...

    NewsReader Android UI多屏幕适配代码

    在Android应用开发中,多屏幕适配是一项至关重要的任务,因为Android设备的屏幕尺寸和分辨率各异,从手机到平板电脑,甚至是智能电视,都可能运行同一个应用。`NewsReader Android UI多屏幕适配代码`这个主题就是...

    android 分辨率适配的方法

    Android设备的屏幕分辨率适配是一项挑战性的任务,因为Android设备的多样性,包括不同尺寸、像素密度以及屏幕方向。为了确保应用在各种设备上显示良好,开发者需要采取一些策略。本文将深入探讨一种解决分辨率适配的...

    Android-获取手机屏幕大小屏幕分辨率屏幕密度导航栏高度标题栏高度

    获取导航栏高度需要使用一些技巧,因为Android SDK并没有直接提供这个值。一种常见的方法是通过创建一个全屏透明的测试Activity,然后测量顶部到可见屏幕边缘的距离,减去状态栏高度即可得到导航栏高度。 5. 标题栏...

    Android Dimens 适配文件生成工具(附生成截图)

    在Android开发中,适配不同屏幕尺寸的设备是一项重要的任务,`dimens.xml`文件用于存储各种尺寸相关的常量,如按钮宽度、...通过深入研究和实践,开发者可以更熟练地掌握这一技术,从而优化Android应用的多屏幕适配。

    android开发尺寸适配

    在Android开发中,尺寸适配是一项至关重要的任务,因为Android设备有着各种各样的屏幕尺寸和分辨率,从手机到平板,甚至是智能电视。本教程将深入探讨如何在Android应用中实现有效的尺寸适配,确保用户在不同设备上...

    Android屏幕适配 dimens生成器(内带使用方法说明,源码)

    在Android应用开发中,屏幕适配是一个至关重要的环节,因为Android设备有着丰富的屏幕尺寸和分辨率。`dimens.xml`文件是Android系统用来存储各种尺寸值(如字体大小、间距、控件尺寸等)的地方,使得开发者能根据...

Global site tag (gtag.js) - Google Analytics