屏幕适配方式的介绍

1. 图片适配(根据手机屏幕的像素密度加载不同文件夹中的图片)

手机屏幕的像素密度:一英寸中包含的像素点的个数

例如:480x800 的像素密度 = 480^2+800^2 开方 = 932.95 / 4 = 233.23dpi

在开发的时候一般不会在每个文件夹中放置一套图片,一般是确定一个分辨率制作一套图,然后按照 android 开发规则,让 android 自动适配其他分辨,如果有图片无法适配,再去制作相应的图片到不同的分辨率对应的目录中进行图片适配

2.dimens.xml 文件适配(根据手机屏幕的像素密度加载不同文件夹中的 dimens.xml )

values -> dimens.xml

主要用来适配,在 app 中适配固定宽高控件,也可以设置固定的距离操作

res-> values-1280x720 -> dimens.xml

<resources>

<dimen name="viewpagerheight">200dp</dimen>

</resources>

布局文件使用

<com.itheima.zhbj98.view.RoolViewPager

android:id="@+id/menunewsitempager_vp_viewpager"

android:layout_width="match_parent"

android:layout_height="@dimen/viewpagerheight"

></com.itheima.zhbj98.view.RoolViewPager>

3.layout 布局文件适配(根据手机屏幕的像素密度加载不同 layout 文件夹中的布局文件)

根据手机屏幕的像素密度加载不同 layout 文件夹中的布局文件

res -> layout-1280x720 ->  布局文件(名称保持一致)

4. 代码适配

1. 按比例适配

根据比例,设置在不同分辨率中比例显示的宽度(宽度在每个分辨率中都是不一样,但是占用的比例是一样的)

首先请求 200 在 320 分辨率中占用的比例,再去 1280x720 分辨率中求出在 720 中相应的比例占用的宽度

// 先求出 200 占用 320 的比例,然后求出比例在 720 中的宽度

//200/320 *  手机界面的宽度

WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);

int width = windowManager.getDefaultDisplay().getWidth();

slidingMenu.setBehindOffset(200 * width / 320);//  单位是 px

2. dp和px相互转换

创建工具类

public class DensityUtil {

/**

*  根据手机的分辨率从 dip  的单位 转成为 px( 像素 )

*/

public static int dip2px(Context context, float dpValue) {

final float scale = context.getResources().getDisplayMetrics().density; //  获取手机的屏幕的密度

return (int) (dpValue * scale + 0.5f);

}

/**

*  根据手机的分辨率从 px( 像素 )  的单位 转成为 dp

*/

public static int px2dip(Context context, float pxValue) {

final float scale = context.getResources().getDisplayMetrics().density;

return (int) (pxValue / scale + 0.5f);

}

}

5. 权重适配

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context="${relativePackage}.${activityClass}"

android:orientation="horizontal"

android:weightSum="10"

>

<!-- weightSum :  将控件分成几份 -->

<TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="3"

android:background="#FF0000" />

<TextView

android:layout_width="0dp"

android:layout_weight="7"

android:layout_height="wrap_content"

android:background="#00FF00" />

</LinearLayout>

时间: 2024-11-04 20:41:16

屏幕适配方式的介绍的相关文章

Android 屏幕适配方式

适配:即当前应用在相同的手机上面显示相同的效果.适配前需要首先确定当前手机所属像素密度类型(如:xhdpi.hdpi.mdpi等) 像素密度:每英寸上分布的像素点个数,单位(dpi,ppi),利用勾股定理可算出. 暂时不考虑xxxhdpi的情况,上图翻译成中文,大概就是这个意思: ldpi:120dpi,dp与像素转换关系为:1dp = 0.75px mdpi:160dpi,dp与像素转换关系为:1dp = 1px hdpi:240dpi,dp与像素转换关系为:1dp = 1.5px xhdpi

安卓-屏幕适配方式

适配:即当前应用在相同的手机上面显示相同的效果.适配前需要首先确定当前手机所属像素密度类型(如:xhdpi.hdpi.mdpi等) 像素密度:每英寸上分布的像素点个数,单位(dpi,ppi),利用勾股定理可算出. 根据google官方文档,像素密度主要分为6个等级. 暂时不考虑xxxhdpi的情况,上图翻译成中文,大概就是这个意思: ldpi:120dpi,dp与像素转换关系为:1dp = 0.75px mdpi:160dpi,dp与像素转换关系为:1dp = 1px hdpi:240dpi,d

屏幕适配的简单介绍

这两天上传了一些代码,有的同学反馈没有自动适配,所以现在总结点有关屏幕适配的知识 1 屏幕适配可以使用frame,但是需要多套代码,非常的麻烦 2 可以使用autoResizing适配:Ios6之前出现的,用来约束父子控件之间的关系,和autolayout是冲突的, 两者不能同时使用,外边的四条线段选中,表示距离四周间距是固定的,里面的两个线段,当勾选上的时候,表示不固定,拉伸.不勾选,表示固定. 3 autolayout:Ios7开始大规模使用,既可以设置父子之间的关系,也可以设置同级之间的关

UIKit框架(8)屏幕适配(一)

本篇本章介绍iOS开发中经常使用的几种屏幕适配方式,包括: 通过frame进行适配 通过AutoResizing进行适配 使用AutoLayout进行适配 使用ZXPAutoLayout进行适配 ... 这里面最重要的是:通过frame适配以及AutoLayout 屏幕适配的目的 目的一: 不同型号的iPhone和iPad可能拥有不同大小的屏幕(点坐标系不同) 发布一款App时,不能只针对一种规格的屏幕,应当在不同大小屏幕的设备都能够运行 目的二: iPhone支持三个方向的旋转,iPad支持四

iOS屏幕适配的几种方式

屏幕适配问题共有四种解决方案:(1)根据屏幕宽高写控件frame(下策);(2)Autoresizing的使用(中策);(3)AutoLayout的使用(上策);(4)sizeClasses+AutoLayout的使用(上上策).下面将会分别来进行叙述. (1)根据屏幕宽高写控件frame 利用宽高比,在不同的屏幕中来进行对控件的位置与控件的宽高进行等比例缩放.选定一个型号的屏幕的宽高为基准,进行等比例缩放.例如以iPhone6或者iPhone6s为基准. 其宽高分别是375与667.Iphon

手机卫士13_屏幕适配_异常处理_盈利模式_混淆加密

今天是手机卫士最后一天 1,简易屏幕适配: ①使用线性,相对,帧布局,这三种常用布局在所有设备上几乎可以完整实现,多使用dp,sp,不要使用像素,dp,sp会自动适应屏幕 ②浮动窗体显示的距离问题:它show出来的距离就是像素,所以显示距离不会适应屏幕. 代码里接收的单位一般都是像素. 解决方式:把输入的数字转换成dp单位. 得到像素密度*像素 获得dp数据,根据屏幕实现的像素效果 通过工具类去转换成dp数据DesityUtils 2,应用程序的异常处理: 2.1 alpha版本:小范围的内部测

CSS基础教程 -- 媒体查询屏幕适配

响应式布局 Media Query 的使用方法 在上例中, 我们使用Media Queries来根据3种不同尺寸的窗口使用3种不同的样式.通过不同的媒体类型和条件定义样式表规则,媒体查询让CSS可以更精确作用于不同的媒体类型和同一媒体的不同条件.媒体查询的大部分媒体特性都接受min和max用于表达"大于或等于"和"小与或等于".如:width会有min-width和max-width媒体查询可以被用在CSS中的@media和@import规则上,也可以被用在HTML

Android开发屏幕适配方案

Android屏幕适配方案总结 日常开发中,难免遇到屏幕适配的方案,网上也有很多方案,在这里本人只是做一个总结,以免日后使用 单位的概念 pt(point):磅,一个标准的固定长度单位,大小为1/72英寸,主要用于印刷与平面设计.1英寸=2.54厘米=72磅 1pt=0.03527cm px(pixel):像素,组成屏幕图像的最小点,一个相对大小单位.同尺寸屏幕中像素越小越多,代表屏幕分辨率越高,反之越高. 1pt=(ppi/72)*px 屏幕尺寸(screen size):屏幕物理尺寸,指屏幕

Cocos2D-X屏幕适配新解

” 阅读器 为了适应移动终端的各种分辨率大小,各种屏幕宽高比,在 Cocos2D-X(当前稳定版:2.0.4) 中,提供了相应的解决方案,以方便我们在设计游戏时,能够更好的适应不同的环境. 而在设计游戏之初,决定着我们屏幕适配的因素有哪些?简而言之只有两点:屏幕大小和宽高比.这两个因素是如何影响游戏的呢? •屏幕大小: 从小分辨率 480×320 到 1280×800 分辨率,再到全高清 1080p,从手机到平板,还有苹果设备的 Retina屏,这么多不同的分辨率,而且大小差距甚大,不可能做到一