Android学习笔记:App屏幕适配相关

一谈到Android开发,就少不了拉扯到屏幕适配问题,为什么要屏幕适配?原因很简单,因为Android手机相关设备款式型号太多太多(据统计,2012年支持Android的设备共有3997种,2013年达到11868种,到2014年时高达18796种,现在会更多),不同的设置屏幕大小不同,如果我们用单一的方式去就对待所有的手机,那结果可想而知!所以我们需要针对不同设备做屏幕适配。

谈到尺寸,我们就要涉及到相关的概念:

1,屏幕尺寸:指设备屏幕对角线的长度,一般以英寸(inch)为单位,

2,屏幕分辨率:指屏幕在横纵方向上的像素点数,单位是我们常用的px,1px=1像素点,我们手机通常以纵向像素*横抽像素来表示,如1920*1080,

3,屏幕像素密度:指单们尺寸(每英寸)上的像素点数,单位是dpi(dot per inch),像素密度与屏幕的尺寸和分辨率有关,

4,dp和dip:dp是Density Independent Pixels的缩写,指与屏幕密度无关的像素,以160dpi为基准,1dip=1px,

5,sp:是Scale Independent Pixels的缩写,指可以根据 文字大小 首选项进行缩放的像素单位,一般用与字体大小 设置,也是Google所推荐的,

6,我们在开发app时,官方推荐使用的字体大小分别有:12sp,14sp,18sp,22sp,不推荐使用奇数大小的字体。

另外我们在项目中存在几个图片文件夹区别:

名称                                             像素密度范围

drawable-mdpi                         120dpi-160dpi

drawable- hdpi                          160dpi-240dpi

drawable-xhdpi                          240dpi-320dpi

drawable-xxhdpi                       320dpi-400dpi

现在也出现了xxxhdpi的屏幕,对应的像素范围400dpi-480dpi

屏幕适配解决方案:

  • 支持各种屏幕尺寸如常用的:480*800,720*1280,480*854,1080*1920等

    • 布局的时候使用wrap_content ,match_parent或weight
    • 使用相对布局而不能用绝对布局
    • 根据手机屏幕尺寸不同设置不同布局
    • 使用限定符(使用布局别名,最小宽度限定符,尺寸限定符,屏幕方向限定符,动拉伸位图(.9图))
  • 支持各种屏幕密度
    • 使用非密度制约像素(dp)
    • 提供备用位图(.9图)
  • 实施自适应用户界面流程
    • 确定当前布局
    • 根据当前布局做出响应
    • 重复使用其他活动中的片段
    • 处理屏幕配置变化

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

时间: 2024-08-09 23:08:29

Android学习笔记:App屏幕适配相关的相关文章

【入门篇】Android学习笔记——项目结构及相关基础知识

Android项目具有其自身的结构规范,完好的遵循结构规范,可以让开发事半功倍.下图分别从Android视图和Project视图展示了Android项目的项目结构: 图中左侧是Android视图,右侧是Project视图.从两个结构图的对比,可以发现Android视图更加关注Android开发工作,而Project视图更加关注整体结构,虽然两个视图有一些不同,但主体结构并没有什么区别. 接下来,主要通过Android视图,描述一下Android项目中各个目录的用途和含义,明白Android视图中

Android学习笔记(三七):再谈屏幕切换

切换需注意数据保存和恢复 在Android学习笔记(三六):横屏竖屏的切换中,我们配置了两个layout,一个用户普通的portrait,一个用户landsapce方式.如果只有一个layout,我们沿用上一个例子,删除了在layout-land/中的xml文件,则在屏幕切换时,会按照原来的排版,适配新的屏幕.程序我进行了简化,每按一次pick,就加一,用此来跟踪是否需要进行数据保存和恢复,如下: [java] view plaincopy public class Chapter19Test3

【转】 Pro Android学习笔记(四十):Fragment(5):适应不同屏幕或排版

目录(?)[-] 设置横排和竖排的不同排版风格 改写代码 对于fragment,经常涉及不同屏幕尺寸和不同的排版风格.我们在基础小例子上做一下改动,在横排的时候,仍是现实左右两个fragment,在竖排时,如下图显示: 屏幕上只显示一个fragment,点击列表上的数目,进入到简介的activity.下面介绍实现的方式. 设置横排和竖排的不同排版风格 在 Pro Android学习笔记(四):了解Android资源(下)的“资源和配置的变更”中,我们介绍了如何同资源文件夹名设置不同资源.缺省的l

Android 尺寸单位转换和屏幕适配相关

一:Android 屏幕适配 众所周知,Android机型尺寸各种各样,于是屏幕适配就成了Android开发中很重要的一环.Android屏幕适配可能一些开发者都会遇到这样的问题,今天就来分享下屏幕适配,其实Android屏幕适配也可以很简单. 基本概念 Android屏幕适配必须要理解的一些概念: px 是英文单词pixel的缩写,意为像素,屏幕上的点.我们通常所说的分辨率如480X800就是指的像素. 在设计领域中,像素是用来计算数码影像的最小单位.计算机中显示的图像并非连续的线条组成,而是

Android学习笔记----Error:Execution failed for task ':app:validateDebugSigning'. > Keystore file F:\myAndroid3\android_s

导入下载的工程出现这个错误,追究其原因是是下载的工程中有指定使用的Keystore文件的路径, 所以我们可以通过Android studio File->ProjectStructure->选择app ,再选择signing 把Store File里指定的Keystore文件的路径删除,或者填写自己的Keystore文件的路径 然后点击ok,再clean下工程即可 Android学习笔记----Error:Execution failed for task ':app:validateDebu

[转]android – 多屏幕适配相关

1.基本概念 屏幕大小(screen size) – 屏幕的实际大小,用屏幕对角线长度来衡量(比如3.4寸,3.8寸).android把屏幕分为以下4种:small,normal,large,extra large.怎么判断? 屏幕密度(Screen Density) -  一 块实际的屏幕区域有多少个像素,一般用dpi衡量(每英寸有多少个点).相比起medium.high屏幕密度的设备,在一块确定大小的屏幕区域l密度为 low的屏幕拥有的像素更少.android把屏幕密度分为4种:low,me

android - 多屏幕适配相关

1.基本概念 屏幕大小(screen size) – 屏幕的实际大小,用屏幕对角线长度来衡量(比如3.4寸,3.8寸).android把屏幕分为以下4种:small,normal,large,extra large.怎么判断? 屏幕密度(Screen Density) - 一块实际的屏幕区域有多少个像素,一般用dpi衡量(每英寸有多少个点).相比起medium.high屏幕密度的设备,在一块确定大小的屏幕区域l密度为low的屏幕拥有的像素更少.android把屏幕密度分为4种:low,mediu

Android学习笔记——关于onConfigurationChanged

从事Android开发,免不了会在应用里嵌入一些广告SDK,在嵌入了众多SDK后,发现几乎每个要求在AndroidManifest.xml申明Activity的广告SDK都会要求加上注明这么一句属性: android:configChanges="orientation|keyboard|keyboardHidden" 通过查阅Android API可以得知android:onConfigurationChanged实际对应的是Activity里的onConfigurationChan

Android学习笔记(三九):资源resource(下)

在上一次学习笔记中,学习了XML文件的解析,实际上一些简单的activity属性,一些简单的信息,我们也可以放入xml文件中,可以直接放入res/vaules,由系统来进行解析,而无须使用XmlPullParser来自己分析. Dimension 用于字体大小,间距pading等等.常用的尺寸大小详细见Android 学习笔记(十四):Activity-AutoCompleteTextView,一般我们使用dip/dp和sp,因为和in(inch),mm,以及px(像素点)不同,它和物理屏幕尺寸