android适配

android 屏幕适配

非 Y 不嫁゛ 提交于 2020-01-15 23:57:40
1.屏幕分辨率与实际对应的分辨率不一致 今天遇到一个奇葩的事情,在适配华为MediaPad M1 8.0的时候,手机的实际分辨率为1280*800,但是在android自动适配的分辨率却是1080*720,这让我很受伤,分别为values-1080*720 和drawable-hdpi-1080*720。 2.关于V11,V12适配的问题。 在res文件夹下面创建一个drawable-v11,如果你用API 11+的设备, 则会适配这个文件夹里面的文件。 3.关于相同的图片分别放在高分辨率和低分辨率后在手机上的显示效果,低分辨率感觉会被拉伸,高分辨率感觉会压缩。 4.在适配MX3(分辨率:1080x1800)的时候,用dimension做适配,values-1024x600,values-1280x768,values-1280x800, values-1800x1080 ,values-1920x1200,values-320x240,values-400x240, values-480x320,values-800x480,values-854x480,values-894x540,values-960x540,values-960x640,values-hdpi-1080x720,values-hdpi-1280x720,values-mdpi-1080x720,

android屏幕适配详解

杀马特。学长 韩版系。学妹 提交于 2020-01-15 04:48:04
官方地址:http://developer.android.com/guide/practices/screens_support.html 一、关于布局适配建议 1、不要使用绝对布局 2、尽量使用match_parent 而不是fill_parent 。 3、能够使用权重的地方尽量使用权重(android:layout_weight) 4、如果是纯色背景,尽量使用android的shape 自定义。 5、如果需要在特定分辨率下适配,可以在res目录上新建layout-HxW.xml的文件夹。比如要适配1080*1800的屏幕(魅族MX3采用此分辨率)则新建layout-1800x1080.xml的文件夹,然后在下面定义布局。Android系统会优先查找分辨率相同的布局,如果不存在则换使用默认的layout下的布局。 二、术语和概念 四种屏幕尺寸分类:: small, normal, large, and xlarge 四种密度分类: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high) 需要注意的是: xhdpi是从 Android 2.2 (API Level 8)才开始增加的分类. xlarge是从Android 2.3 (API Level 9)才开始增加的分类. DPI是“dot per inch

Android 屏幕适配

情到浓时终转凉″ 提交于 2020-01-14 04:46:03
见解: ------> https://blog.csdn.net/zhaokaiqiang1992/article/details/45419023 ;这一篇网文内容详尽 对于鸿洋的百分比适配,由于目前无法覆盖所有分辨率,对于现在也没有全备的测试,问题可能会比较多,所以目前不采用。如果使用,需要进一步注意的是,对于有虚拟按键的手机,需要在该分辨率下,还需要创建一套除去NavigationBar高度后分辨率的适配方案。比如1920 x 1080 的手机,虚拟按键高度为170px。针对该款手机,既要创建values-1920x1080 ,还需要创建values-1750x1080。 针对目前的开发进行适配,做好网文中主要介绍的内容即可。以下内容方便查阅,直接粘贴出来: 屏幕尺寸 屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米 比如常见的屏幕尺寸有2.4、2.8、3.5、3.7、4.2、5.0、5.5、6.0等 屏幕分辨率 屏幕分辨率是指在横纵向上的像素点数,单位是px,1px=1个像素点。一般以纵向像素*横向像素,如1960*1080。 屏幕像素密度 屏幕像素密度是指每英寸上的像素点数,单位是dpi,即“dot per inch”的缩写。屏幕像素密度与屏幕尺寸和屏幕分辨率有关,在单一变化条件下,屏幕尺寸越小、分辨率越高,像素密度越大,反之越小。 dp、dip、dpi

Flutter适配深色模式(DarkMode):看!你要的黑是这个黑吗?

孤人 提交于 2020-01-14 00:27:31
1.起因 最近在做适配深色模式(DarkMode),也可以说是实现夜间模式的功能。 相信许多iOS的同学最近都比较关注,毕竟iOS 13上个月推送更新了。 说适配的原因是因为在iOS 13 和 Android 10系统上它都属于新特性。适配的目的是为了达到应用的主题随着系统主题模式的切换而变化,给用户更好的一致性体验。与它类似的就是系统语言的设置,当系统设置某种语言时,应用内的文字也相应变化。 好在Flutter也提供了适配的入口,使得我们可以一次适配两个平台。我手上的小米mix2s虽然是Android 9 的,没想到也能适配。 2.准备工作 首先是规范问题,标题、副标题、分割线、各种背景等颜色,以及深色模式下相对应的颜色一定要先规范起来。否则你自己不仅被这些颜色搞得眼冒金星,同时应用也没有一个统一的风格。 ###3.适配开始 1.全局调整 Flutter 在 MaterialApp中提供了theme 与 darkTheme两个入口让我们设置两种模式下的颜色及文字样式。接收的ThemeData中近乎涵盖了所有Material Widget中所使用的颜色及主题。(Cupertino系列组件官方还在适配中,所以Flutter版本1.9.1暂不支持。) 通过配置theme 与 darkTheme可以让我们省去很多的判断代码,比如我的分割线在不同模式下是两种不同颜色,我不可能每使用一次

Android开发笔记:屏幕适配

橙三吉。 提交于 2020-01-12 17:05:33
这几天刚刚接触了新的项目,做一个android客户端。本周的工作是完成客户端的UI界面和功能实现,但是对于Android开发最头疼的部分,即是对于纷杂的屏幕做适配的工作现在来说是最棘手的! 图像显示所需的概念: 像素: 一幅图片的显示就是由许多显示着不同颜色的小方格组成的,这样的小方格就被称为像素,是构成图片的最小单位.但是这个像素的具体大小是多少呢?这需要取决于显示这张图片的具体的物理设备显示一个图片像素点的荧光点的大小.图片文件只是记录着它自身有多少个像素点,每个像素点显示什么颜色,至于它自身物理尺寸有多大,它自身也无法得知,例如一张480*800像素的图片在电脑显示器上显示明显要比在手机屏幕上显示大很多,而这张图片本身并没有改变.只是手机的屏比电脑显示器的屏要精细许多,也就是每一个物理像素点要小许多,密度也就大许多. 分辨率: 分为“图像分辨率”与“物理显示分辨率”。它们都是水平像素点数与垂直像素点数的乘积,也就是像素总和数。图像分辨率是指图片文件记录着自身所有的像素数。物理显示分辨率是指物理显示屏水平与垂直能显示的像素数的乘积.有的人说分辨率越高,显示的图片就越清晰,这点是针对物理尺寸相同的情况而言,因为一样的分辨率有可能尺寸可能不一样大,这样光就分辨率来比较清晰度没有可比性. 密度: 就是物理设备上单位尺寸里的像素数,当然是密度越大图片显示就越清晰了.

移动端适配 - 原理篇

半城伤御伤魂 提交于 2020-01-12 08:22:40
移动端适配,是我们在开发中经常会遇到的,这里面可能会遇到非常多的问题: 1px问题 UI图完美适配方案 iPhoneX适配方案 横屏适配 高清屏图片模糊问题 ... 上面这些问题可能我们在开发中已经知道如何解决,但是问题产生的原理,以及解决方案的原理可能会模糊不清。在解决这些问题的过程中,我们往往会遇到非常多的概念:像素、分辨率、PPI、DPI、DP、DIP、DPR、视口等等。 本文将从移动端适配的基础概念出发,探究移动端适配各种问题的解决方案和实现原理。 一、英寸 一般用英寸描述屏幕的物理大小,如电脑显示器的17、22,手机显示器的4.8、5.7等使用的单位都是英寸。 英寸和厘米的换算:1英寸 = 2.54 厘米 二、物理像素 2.1 像素 像素即一个小方块,它具有特定的位置和颜色。 图片、电子屏幕(手机、电脑)就是由无数个具有特定颜色和特定位置的小方块拼接而成。 像素可以作为图片或电子屏幕的最小组成单位。 2.2 物理像素 到电商网站购买手机,都会看一看手机的参数,以apple的官网上对手机分辨率的描述为例: iPhone XS Max 和 iPhone SE的分辨率分别为2688 x 1242和1136 x 640。表示手机分别在垂直和水平上所具有的像素点数。 这里描述的就是屏幕实际的物理像素,即一个屏幕具体由多少个像素点组成。 屏幕从工厂出来那天起

转:android 屏幕适配小结

放肆的年华 提交于 2020-01-10 10:37:38
做android开发,开源嘛,满市场都是凌乱的机型,总少不了适配这样或那样的型号。在这里分享一下自己在开发中用到的方法。 首先要介绍一下drawable-mdpi、drawable-hdpi-1280x800、drawable-hdpi。这个相信好好看一下也明白。就是代表着分辨率 320X480、1280X800、480X800三款屏幕图片资源包。其实适配也很多。我大致说一种就行,其他大家慢慢琢磨,或上网周转。 说明一下这个图的意思,就是我要说的配置方法,就是一套图片资源(资源文件要看美工的设计了。最好能是XXX.9.png)配一套布局文件及多套数值文件。 布局文件: [html] view plain copy print ? <? xml version = "1.0" encoding = "utf-8" ?> < LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" android:layout_width = "fill_parent" android:layout_height = "fill_parent" android:orientation = "vertical" > < ImageView android:layout_width = "@dimen

android开发学习笔记系列(4)--android动态布局

柔情痞子 提交于 2020-01-08 07:16:34
前言 在做一个有关苏果APP的项目中,但是fuck的是,我完全使用相对布局之后及线性布局之后发现坑爹的事情了,屏幕不能适配,这是多大的痛,意味着,必须使用相应的代码实现动态布局!呵呵,不做项目不知道,只有真正地下手去做某些事情的时候,才会发觉各种问题,原本打算先写view与framgent实现tabhost功能的博客的,但是碰到了这个棘手问题必须先把他解决了!同时不知道各位网友有什么好的方法来适配所有的安卓手机屏幕 问题 在xml文件中使用px之后出现了各种不适应屏幕的情况,控件不是大了就是小了,要知道在android世界里面有太对的屏幕尺寸了,真羡慕搞苹果开发的人! UI变得奇丑无比 控件太多的偏差了! 解决之道 其实解决之道有很多,我选用的是使用代码计算等比例高宽,让其在相应的屏幕上显示相应的比例高度就可以了!当然网上有很多都是给的建议,却没有实实在在解决问题的博客!(希望集思广益,能够得到一个适合全部屏幕类型的架包,方便所有的安卓开发人员) 关于网上的建议 网上的建议,我进行了归纳: 一、关于布局适配 不要使用绝对布局 尽量使用match_parent 而不是fill_parent 。 能够使用权重的地方尽量使用权重(android:layout_weight) 如果是纯色背景,尽量使用android的shape 自定义。 如果需要在特定分辨率下适配

Android开发之屏幕适配

倾然丶 夕夏残阳落幕 提交于 2020-01-06 17:12:11
基本概念: 屏幕大小 :物理屏幕的大小,指屏幕的对角线长度,经常以英寸为单位。 分辨率 :实际上是像素的总和。例如:1280*720 dpi :密度。(每英寸所展示的像素) hdpi :480*800 每英寸展示的像素约为240dpi ldpi :320*240 每英寸展示的像素约为120dpi mdpi : 320*480 每英寸展示的像素约为160dpi (缩放比例为mdpi为参照物) xhdpi: 1280*720 每英寸展示的像素约为320dpi 缩放比例 l :m :h :x= 3:4:6:8 例如一张图片的像素为48*48,放在drawable-mdpi目录下,若手机的屏幕分辨率为480*800,那么该图片会根据缩放比例自动转换为72*72像素的图片。 思考:为什么 屏幕分辨率为480*800,手机屏幕大小为4.0英寸的手机规定是hdpi(高分辨率) 屏幕适配的方法 1.在布局文件中对控件使用layout_weight属性设置其在整个屏幕中所占的比例。 2.创建适合不同分辨率的资源文件夹,如下所示 这样当遇到分辨率为1280*720的手机时,会自动使用layout-1280*720里面的布局文件。个人觉得这样做比较繁琐,消耗的资源也比较大。 3.根据手机屏幕分辨率在代码中自己适配控件的大小( 百分比适配 ) Demo展示: package com . example .

android开发学习笔记系列(4)--android动态布局

断了今生、忘了曾经 提交于 2020-01-05 17:10:31
前言 在做一个有关苏果APP的项目中,但是fuck的是,我完全使用相对布局之后及线性布局之后发现坑爹的事情了,屏幕不能适配,这是多大的痛,意味着,必须使用相应的代码实现动态布局!呵呵,不做项目不知道,只有真正地下手去做某些事情的时候,才会发觉各种问题,原本打算先写view与framgent实现tabhost功能的博客的,但是碰到了这个棘手问题必须先把他解决了!同时不知道各位网友有什么好的方法来适配所有的安卓手机屏幕 问题 在xml文件中使用px之后出现了各种不适应屏幕的情况,控件不是大了就是小了,要知道在android世界里面有太对的屏幕尺寸了,真羡慕搞苹果开发的人! UI变得奇丑无比 控件太多的偏差了! 解决之道 其实解决之道有很多,我选用的是使用代码计算等比例高宽,让其在相应的屏幕上显示相应的比例高度就可以了!当然网上有很多都是给的建议,却没有实实在在解决问题的博客!(希望集思广益,能够得到一个适合全部屏幕类型的架包,方便所有的安卓开发人员) 关于网上的建议 网上的建议,我进行了归纳: 一、关于布局适配 不要使用绝对布局 尽量使用match_parent 而不是fill_parent 。 能够使用权重的地方尽量使用权重(android:layout_weight) 如果是纯色背景,尽量使用android的shape 自定义。 如果需要在特定分辨率下适配