android 屏幕适配

android 屏幕适配,第1张

@[TOC](文章目录)

<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

# 前言

<font color=#999AAA >使用工具Android studio,利用values文件下dimensxml界面适配安卓屏幕</font>

<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

<font color=#999AAA >提示:以下是本篇文章正文内容,下面案例可供参考

# 一、概念

1屏幕分辨率单位是px,例如Android手机常见的分辨率:320x480px、480x800px、720x1280px、1080x1920px。

2手机屏幕的密度:每英寸的像素点数,单位是dpi。

| 密度类型 |代表的分辨率(px)| 屏幕像素密度(dpi) | 1dp转换为px |

|:--------|:--------|:--------|:--------|

| 低密度(ldpi) |240x320|120|075|

| 中密度(mdpi) |320x480|160|1|

| 高密度(hdpi)|480x800|240| 15|

| 超高密度(xhdpi)|720x1280|320|2|

| 超超高密度(xxhdpi) |1080x1920|480|3|

3由于android的机型屏幕大小品类太多了,有一些是不标准的,这时我们就需要单独去获取屏幕的分辨率和密度了。

# 二、获取屏幕的分辨率和密度

```java

DisplayMetrics displayMetrics = getResources()getDisplayMetrics();

    float density = displayMetricsdensity;

    int densityDpi = displayMetricsdensityDpi;

    int width = displayMetricswidthPixels;

    int height = displayMetricsheightPixels;

    Loge("123","密度:"+density+"---"+densityDpi);

    Loge("123","屏幕分辨率:"+width+"x"+height);

    Loge("123","安卓系统:"+androidosBuildVERSIONRELEASE);

    Loge("123","手表型号:"+androidosBuildPRODUCT);

```

# 三、SmallestWidth适配

smallestWidth适配,或者叫sw限定符适配。指的是Android会识别屏幕可用高度和宽度的最小尺寸的dp值(其实就是手机的宽度值),然后根据识别到的结果去资源文件中寻找对应限定符的文件夹下的资源文件。

sw计算公式:sw = 屏幕宽度 / (dpi/160)  注:160是默认的

例如:屏幕宽度为1080px、480dpi 的sw = 1080/(480/160)

# 四、生成 dimens 文件

1、 首先在 res 目录下新建各种尺寸的 values 文件 。文件名为:values-sw(你要适配屏幕的sw值)dp。

例如:

![code23](>

侦听“屏幕旋转”事件,一旦屏幕旋转就在回调函数中重新获得元素的宽和高。

如果你用jquery的话可以这样写:

$(window)on('orientationchange', function() {

var $el = $("#el"); // 需要重新获得宽和高的元素

var newWidth = $elwidth(); // 新的宽

var newHeight = $elheight(); // 新的高

});

您好,我来为您解答: windowdocumentbodyclientHeight就可以 windowscreenavailWidth 返回当前屏幕宽度(空白空间) windowscreenavailHeight 返回当前屏幕高度(空白空间) windowscreenwidth 返回当前屏幕宽度(分辨率值) windowscreenheight 返回当前屏幕高度(分辨率值) windowdocumentbodyoffsetHeight; 返回当前网页高度 windowdocumentbodyoffsetWidth; 返回当前网页宽度 转载,仅供参考。 如果我的回答没能帮助您,请继续追问。

function a(){

"屏幕宽高为:"+screenwidth+""+screenheight;

}

其它:

网页可见区域宽:documentbodyclientWidth

网页可见区域高:documentbodyclientHeight

网页可见区域宽:documentbodyoffsetWidth (包括边线的宽)

网页可见区域高:documentbodyoffsetHeight (包括边线的宽)

网页正文全文宽:documentbodyscrollWidth

网页正文全文高:documentbodyscrollHeight

网页被卷去的高:documentbodyscrollTop

网页被卷去的左:documentbodyscrollLeft

网页正文部分上:windowscreenTop

网页正文部分左:windowscreenLeft

屏幕分辨率的高:windowscreenheight

屏幕分辨率的宽:windowscreenwidth

屏幕可用工作区高度:windowscreenavailHeight

屏幕可用工作区宽度:windowscreenavailWidth

HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth

scrollHeight: 获取对象的滚动高度。

scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离

scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离

scrollWidth:获取对象的滚动宽度

offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度

offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置

offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置

eventclientX 相对文档的水平座标

eventclientY 相对文档的垂直座标

eventoffsetX 相对容器的水平坐标

eventoffsetY 相对容器的垂直坐标

documentdocumentElementscrollTop 垂直方向滚动的值

eventclientX+documentdocumentElementscrollTop 相对文档的水平座标+垂直方向滚动的量

电脑端的分辨率跟显卡设置有关,正常你说的pc端分辨率就是你这样测到的,移动端分辨率之外还有viewport这个概念。也就是手机的物理像素 跟逻辑像素。可以参考文章网页链接。手机因为小,不能清晰的显示网页的真实宽度,所以大家都在做自适应。更多的自动使用物理像素的宽度做网页的宽度。

jQuery 获取屏幕高度、宽度

做手机Web开发做浏览器兼容用到了,所以在网上找了些汇总下。

alert($(window)height()); //浏览器当前窗口可视区域高度

alert($(document)height()); //浏览器当前窗口文档的高度

alert($(documentbody)height());//浏览器当前窗口文档body的高度

alert($(documentbody)outerHeight(true));//浏览器当前窗口文档body的总高度 包括border padding margin

alert($(window)width()); //浏览器当前窗口可视区域宽度

alert($(document)width());//浏览器当前窗口文档对象宽度

alert($(documentbody)width());//浏览器当前窗口文档body的高度

alert($(documentbody)outerWidth(true));//浏览器当前窗口文档body的总宽度 包括border padding margin

// 获取页面的高度、宽度

function getPageSize() {

var xScroll, yScroll;

if (windowinnerHeight && windowscrollMaxY) {

xScroll = windowinnerWidth + windowscrollMaxX;

yScroll = windowinnerHeight + windowscrollMaxY;

} else {

if (documentbodyscrollHeight > documentbodyoffsetHeight) { // all but Explorer Mac

xScroll = documentbodyscrollWidth;

yScroll = documentbodyscrollHeight;

} else { // Explorer Macwould also work in Explorer 6 Strict, Mozilla and Safari

xScroll = documentbodyoffsetWidth;

yScroll = documentbodyoffsetHeight;

}

}

var windowWidth, windowHeight;

if (selfinnerHeight) { // all except Explorer

if (documentdocumentElementclientWidth) {

windowWidth = documentdocumentElementclientWidth;

} else {

windowWidth = selfinnerWidth;

}

windowHeight = selfinnerHeight;

} else {

if (documentdocumentElement && documentdocumentElementclientHeight) { // Explorer 6 Strict Mode

windowWidth = documentdocumentElementclientWidth;

windowHeight = documentdocumentElementclientHeight;

} else {

if (documentbody) { // other Explorers

windowWidth = documentbodyclientWidth;

windowHeight = documentbodyclientHeight;

}

}

}

// for small pages with total height less then height of the viewport

if (yScroll < windowHeight) {

pageHeight = windowHeight;

} else {

pageHeight = yScroll;

}

// for small pages with total width less then width of the viewport

if (xScroll < windowWidth) {

pageWidth = xScroll;

} else {

pageWidth = windowWidth;

}

arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight);

return arrayPageSize;

}

// 滚动条

documentbodyscrollTop;

$(document)scrollTop();

问题一:网页要让它自适应各种手机屏幕宽度大小要怎么设置? 100分 首先,在网页代码的头部,加入一行viewport元标签。

viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比例(initial-scale=1)为10,即网页初始大小占屏幕面积的100%。

所有主流浏览器都支持这个设置,包括IE9,对于那些老式浏览器(主要是IE6、7、8),需要使用css3-mediaqueriesjs。

2、不使用绝对宽度由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。这一条非常重要。具体说,CSS代码不能指定像素宽度:width:xxx px;

只能指定百分比宽度:width: xx%;或者width:auto;

3、相对大小的字体

字体也不能使用绝对大小(px),而只能使用相对大小(em)。

body {

font: normal 100% Helvetica, Arial, sans-serif;

}

上面的代码指定,字体大小是页面默认大小的100%,即16像素。

h1 {

font-size: 15em;

}

然后,h1的大小是默认大小的15倍,即24像素(24/16=15)。

all {

font-size: 0875em;

}

all元素的大小是默认大小的0875倍,即14像素(14/16=0875)。

问题二:html手机页面的字体怎么设置随屏幕的大小变化页变化? 手机响应式布局,是获取屏幕尺寸,在某个区间用一种css,另个区间用另一种css。需要用@media写多份css的。无法做到真正的随屏幕变化而变化。

而的用法是随着屏幕的大小,自动把页面自适应到屏幕的大小。这个是管用的。em是字体的宽度,也就是一个字体宽12px,那么em=12px;字体为15px,em=15px;一般用来动态控制字体外的区块大小去适应字体,而不是用来设置字体的大小的。例如:

如果没效果,建议你用贴出来,看看你想要的具体效果是什么。

问题三:手机网页字体大小怎么调 这种问题你最好附加上手机使用的系统和浏览器才能方便别人帮到你,如果是安卓系统的手机,以使用猎豹浏览器为例,从底部菜单进入设置页面,再进入高级设置,在网页浏览一栏字体大小中去设置。

问题四:如何调整网页大小与屏幕适应? 浏览器右下角状态栏看看

问题五:怎样将html页面调整为适合手机屏幕大小的页面 页面右击,有检查或审查元素之类的选项,点了之后在左上角有个手机标志,点了之后再刷新页面,就是以手机方式浏览页面了,不同浏览器方法不同,但大致是这样

问题六:调整了手机字体大小后网页的字体大小怎么不能改大 这是因为手机字体与网页字体是两个系统。手机网页字体调大的 *** 作方法如下,以小米手机自带的浏览器为例:

1首先打开小米手机自带浏览器,并点击浏览器三横图标;

2其次点击设置;

3然后点击文字大小;

4最后将浏览器字体大小调大即可。

问题七:网页调整了stylecss 以后,手机网站,显示超出了屏幕。怎么改为适应屏幕大小 5分 这位网友你好,想要网页宽度自适应,你需要把网页元素宽度设置为百分比,还要在网页头部加上代码:

自适应,且不超过原始大小,需要设置最大宽度,代码如下:

img{ width:100%; max-width:100%;}

问题八:三星手机怎么样能调百度页面大小 有的网页能放大或缩小,有的不能,你可试试两手指按住屏幕后两手指向外划开或并拢就能知道是不是能扩展了。

问题九:帮我把这个HTML页面,修改成手机能自动适应大小,非常感谢 只要加一行代码就行了。

问题十:三星手机网页字体大小怎么调? 手机网页字体大小调节一般有三种方法:

1双指拉伸

双指靠拢,向外侧移动,可以放大页面;双指分开,向内侧移动,可以缩小页面。

2双击屏幕

轻敲两下屏幕,可以放大页面大小,再次轻敲两下屏幕,可以缩小页面大小。

3互联网-更多-设置-高级设定-图像和文本-文字缩放-滑动调节需要的字体大小。

注:若手机双指拉伸或双击屏幕无法调节字体大小,建议进入互联网-更多-设置-手动缩放-滑动开启。

以上就是关于android 屏幕适配全部的内容,包括:android 屏幕适配、js如何判断手机或平板 旋转屏幕 后的 高度和宽度、javascript js 如何在手机屏幕旋转后 获取一个对象的新高度和宽度,不是屏幕的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9574778.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存