js如何根据不同屏幕的大小,获得页面高度,自动调整列表高度

js如何根据不同屏幕的大小,获得页面高度,自动调整列表高度,第1张

var win_w = $(window)width();//获取宽度

var win_h = $(window)height();//获取高度

如果你想要匹配高度,那么,就是页面刚刚打开其实没有数据,是等页面打开,计算了屏幕高度之后,再根据每条数据的高度计算出条数,再利用ajax的异步传输去读取列表,然后用JS呈现在手机网页中的。

不可以在css里用@media (max-width:330px){}么?比如

@media (max-width:320px){}

@media (max-width:414px){}

@media (max-width:900px){}

也可以在link里指定:

<link rel="stylesheet" type="text/css" media="screen and (max-width: 900px)" href="stylecss">

<link rel="stylesheet" type="text/css" media="screen and (min-width: 414px)" href="stylecss" >

非用js的话 就是先用js获取网页可见宽度:documentbodyclientWidth (其他宽度及jquery方法可见:>

1、确定手机的显示density和分辨率

desity翻译成中文的意思是密度,在安卓系统中,desity是一个重要的显示参数。如果density设置不当,如低分辨率用了高density,会使得字体和其他一些UI显示得特别小,甚至影响App兼容。要确定手机的density很简单,使用RE文件管理器,开启system目录下的buildprop,找到“rosiflcd_density=”的参数,后面的数字就是当前的density。

软件名称: RE文件管理器(RootExplorer)

软件版本: 332

软件大小: 238MB

软件授权: 免费

适用平台: Android

下载地址: 一键下载 | 普通下载

找到buildprop文件,点击编辑

这一行就是目前的系统density,需要做修改

确定屏幕分辨率就更简单了,自行查询厂商官方数据即可。

2、根据分辨率修改density

前面说到,如果density不对,会造成很多问题,所以修改分辨率前,我们把density变更到对应的数值。以笔者的设备为例。笔者的设备默认分辨率是1080p(1920x1080),density为480。如果要把分辨率修改到720p(1280x720),那么就按照下面的方法计算出需要修改的density数值。

需要修改成的density数值=480/(1080/720)=320

1080p的横向、纵向分辨率是720p的15倍,所以density需要除以15。如果你是2K分辨率(2560x1440),想要修改成为1080p,那么同理,计算公式如下:

需要修改的density数值=原density数值/(1440/1080)

使用RE文件管理器,编辑buildprop。将“rosiflcd_density=”的参数改写成为需要修改的数值,保存。

3、修改显示分辨率

修改density后,就可以接着修改显示分辨率了,这一步需要用到电脑,下面以Windows PC为例。首先需要安装安卓adb开发包,下载后,按照压缩包里的说明安装。

软件名称: adb工具包

软件版本: 1032

软件大小: 608KB

软件授权: 免费

适用平台: Win2000 WinXP Win2003 Vista Win8 Win7

IE中: 

documentbodyclientWidth ==> BODY对象宽度 

documentbodyclientHeight ==> BODY对象高度 

documentdocumentElementclientWidth ==> 可见区域宽度 

documentdocumentElementclientHeight ==> 可见区域高度

FireFox中: 

documentbodyclientWidth ==> BODY对象宽度 

documentbodyclientHeight ==> BODY对象高度 

documentdocumentElementclientWidth ==> 可见区域宽度 

documentdocumentElementclientHeight ==> 可见区域高度

Opera中: 

documentbodyclientWidth ==> 可见区域宽度 

documentbodyclientHeight ==> 可见区域高度 

documentdocumentElementclientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽) 

documentdocumentElementclientHeight ==> 页面对象高度(即BODY对象高度加上Margin高) 

没有定义W3C的标准,则 

IE为: 

documentdocumentElementclientWidth ==> 0 

documentdocumentElementclientHeight ==> 0 

FireFox为: 

documentdocumentElementclientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽) 

documentdocumentElementclientHeight ==> 页面对象高度(即BODY对象高度加上Margin高) 

Opera为: 

documentdocumentElementclientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽) 

documentdocumentElementclientHeight ==> 页面对象高度(即BODY对象高度加上Margin高) 

网页可见区域宽: 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 相对文档的水平座标+垂直方向滚动的量

示例:

var winWidth = 0; 

var winHeight = 0; 

function findDimensions() //函数:获取尺寸 

    //获取窗口宽度 

    if (windowinnerWidth) 

        winWidth = windowinnerWidth; 

    else if ((documentbody) && (documentbodyclientWidth)) 

        winWidth = documentbodyclientWidth; 

    //获取窗口高度 

    if (windowinnerHeight) 

        winHeight = windowinnerHeight; 

    else if ((documentbody) && (documentbodyclientHeight)) 

        winHeight = documentbodyclientHeight; 

    //通过深入Document内部对body进行检测,获取窗口大小 

    if (documentdocumentElement && documentdocumentElementclientHeight && documentdocumentElementclientWidth) 

    { 

        winHeight = documentdocumentElementclientHeight; 

        winWidth = documentdocumentElementclientWidth; 

    } 

    //结果输出至两个文本框 

    documentform1availHeightvalue= winHeight; 

    documentform1availWidthvalue= winWidth; 

findDimensions(); 

//调用函数,获取数值 

windowonresize=findDimensions;

screenwidth, screenheight可以获取宽高,下面js代码可以可以获取旋转事件

var supportsOrientationChange = "onorientationchange" in window,

orientationEvent = supportsOrientationChange "orientationchange" : "resize";

windowaddEventListener(orientationEvent, function() {

alert('旋转:' + windoworientation + " " + screenwidth + "," + screenheight);

}, false);

问题一:如何获取Android手机屏幕高宽值 DisplayMetrics metrics = new DisplayMetrics();

objActivitygetWindowManager()getDefaultDisplay()getMetrics(metrics);

M_NSCREENWIDTH = metricswidthPixels; 屏幕宽度

M_NSCREENHEIGHT = metricsheightPixels; 屏幕高度

问题二:android怎么获取屏幕宽度 在一个Activity的onCreate方法中,写入如下代码:

DisplayMetrics metric = new DisplayMetrics();

getWindowManager()getDefaultDisplay()getMetrics(metric);

int width = metricwidthPixels; 屏幕宽度(像素)

int height = metricheightPixels; 屏幕高度(像素)

float density = metricdensity; 屏幕密度(075 / 10 / 15)

int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)

AndroidManifestxml文件中,加入supports-screens节点,具体的内容如下:

这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。

问题三:Android开发 怎样获取屏幕的宽高是多少厘米 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸

下面的代码即可获取屏幕的尺寸。

在一个Activity的onCreate方法中,写入如下代码:

[java] view plain copy print

DisplayMetrics metric = new DisplayMetrics();

getWindowManager()getDefaultDisplay()getMetrics(metric);

int width = metricwidthPixels; 屏幕宽度(像素)

int height = metricheightPixels; 屏幕高度(像素)

float density = metricdensity; 屏幕密度(075 / 10 / 15)

int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)

DisplayMetrics metric = new DisplayMetrics();

getWindowManager()getDefaultDisplay()getMetrics(metric);

int width = metricwidthPixels; 屏幕宽度(像素)

int height = metricheightPixels; 屏幕高度(像素)

float density = metricdensity; 屏幕密度(075 / 10 / 15)

int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)

但是,需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。因此,研究之后发现,若没有设定多分辨率支持的话,Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,这样的话就大大影响了程序的编码。所以,需要在工程的AndroidManifestxml文件中,加入supports-screens节点,具体的内容如下:

[html] view plain copy print

>

问题四:Android 如何获得设备触摸板(屏)的长宽 WindowManager wm=(WindowManager)getContext()getSystemService(ContextWINDOW_SERVICE);int width = wmgetDefaultDisplay()getWidth();int height = wmgetDefaultDisplay()getHeight();

问题五:android如何获取屏幕宽度 现在获取屏幕宽度一般都是像素。

可以用以下代码:

WindowManager wm = (WindowManager) getContext()

getSystemService(ContextWINDOW_SERVICE);

int width = wmgetDefaultDisplay()getWidth();

int height = wmgetDefaultDisplay()getHeight();

或者是:

WindowManager wm = thisgetWindowManager();

int width = wmgetDefaultDisplay()getWidth();

int height = wmgetDefaultDisplay()getHeight();

问题六:android怎么获取屏幕的宽度 在一个Activity的onCreate方法中,写入如下代码: DisplayMetrics metric = new DisplayMetrics(); getWindowManager()getDefaultDisplay()getMetrics(metric); int width = metricwidthPixels; 屏幕宽度(像素) int height = metricheightPixels; 屏幕高度(像素) float density = metricdensity; 屏幕密度(075 / 10 / 15) int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)AndroidManifestxml文件中,加入supports-screens节点,具体的内容如下: 这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。

问题七:js网页如何获取手机屏幕宽度 ]@]@]

@sssss

var x = navigator;

var w=windowinnerWidth

|| documentdocumentElementclientWidth

|| documentbodyclientWidth;

var h=windowinnerHeight

|| documentdocumentElementclientHeight

|| documentbodyclientHeight;

documentgetElementById(p1)innerHTML=屏幕分辨率:+screenwidth + + screenheight+内部窗口: + w + + h

不知道是不是这个 屏幕分辨率 :pc上的桌面分辨率 。手机上是 一个型号固定的分辨率比如

华为8813的分辨率是480854。。 内部窗口是 改变窗口大小刷新一下就有新的数据

问题八:android编程:android中如何获取屏幕大小 获取屏幕尺寸大小,是程序能在不同大小的手机上有更好的兼容性

WindowManager wm=(WindowManager)getContext()getSystemService(ContextWINDOW_SERVICE);

wwidth=wmgetDefaultDisplay()getWidth();手机屏幕的宽度

hheight=wmgetDefaultDisplay()getHeight();手机屏幕的高度

问题九:android如何获取整个屏幕大小 状态栏的高度:Rect frame = new Rect();

MainActivitythisgetWindow()getDecorView()getWindowVisibleDisplayFrame(frame);

int topHeigh= frametop;

问题十:Android中,BaseAdapter类中怎么获取屏幕宽度 像这种可能多处能用到的我一般在BaseApplication中初始化: 这样不论在哪里都可以调到

public class App extends Application {

private static App mInstance;

@Override

public void onCreate() {

mInstance = this;

}

/

获取当前手机屏幕的宽

/

public static int getPhoneWidth() {

手机屏幕的宽

WindowManager wm = (WindowManager) mInstancegetSystemService(WINDOW_SERVICE);

return wmgetDefaultDisplay()getWidth();

}

/

获取当前手机屏幕的高

/

public static int getPhoneHeight() {

手机屏幕的高

WindowManager wm = (WindowManager) mInstancegetSystemService(WINDOW_SERVICE);

return wmgetDefaultDisplay()getHeight();

}

}

以上就是关于js如何根据不同屏幕的大小,获得页面高度,自动调整列表高度全部的内容,包括:js如何根据不同屏幕的大小,获得页面高度,自动调整列表高度、JS如何根据屏幕大小调用不同CSS样式,分别是320.414.900.1400的屏、如何调整屏幕密度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/web/9533514.html

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

发表评论

登录后才能评论

评论列表(0条)

保存