Android手机js获取屏幕尺寸不准,导致计算的问题

Android手机js获取屏幕尺寸不准,导致计算的问题,第1张

Android中可以通过三种方式获到屏幕大小:

1、通过WindowManager获取

DisplayMetrics dm = new DisplayMetrics();

getWindowManager()getDefaultDisplay()getMetrics(dm);

Systemoutprintln("heigth : " + dmheightPixels);

Systemoutprintln("width : " + dmwidthPixels);

2、通过Resources获取

DisplayMetrics dm2 = getResources()getDisplayMetrics();

Systemoutprintln("heigth2 : " + dm2heightPixels);

Systemoutprintln("width2 : " + dm2widthPixels);

3、通过Display 获取屏幕的默认分辨率

Display display = getWindowManager()getDefaultDisplay();

Systemoutprintln("width-display :" + displaygetWidth());

Systemoutprintln("heigth-display :" + displaygetHeight());

ios系统需要 >

可以!

1、使用mobile-detectjs

2、html

<!DOCTYPEhtml>

<html>

<head>

<meta>

<metaname="viewport"

content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">

<title>JS获取手机型号和系统</title>

</head>

<body>

</body>

<script src="jqueryjs"></script>

<script src="mobile-adaptjs"></script>

<script>

//判断数组中是否包含某字符串

Arrayprototypecontains=function(needle){

for(iinthis){

if(this[i]indexOf(needle)>0)

returni;

}

return-1;

}

vardevice_type=navigatoruserAgent;//获取userAgent信息

documentwrite(device_type);//打印到页面

varmd=newMobileDetect(device_type);//初始化mobile-detect

varos=mdos();//获取系统

varmodel="";

if(os=="iOS"){//ios系统的处理

os=mdos()+mdversion("iPhone");

model=mdmobile();

}elseif(os=="AndroidOS"){//Android系统的处理

os=mdos()+mdversion("Android");

varsss=device_typesplit(";");

vari=ssscontains("Build/");

if(i>-1){

model=sss[i]substring(0,sss[i]indexOf("Build/"));

}

//判断是否是oppoR9s

if(model="OPPOR9s"){

alert('您的手机是OPPOR9s')

}

if(model=="MI6"){

alert('您的手机是小米6')

}

}

alert('111'+model+'2222');//打印系统版本和手机型号

</script>

</html>

问题一:如何获取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();

}

}

最近在做一个移动端的项目,项目出现的一大堆兼容问题是在让我头疼,其中就包括获取 当前使用的 ios 的 机型。逛了很多圈博客,很多是用了组件实现的,也不知道是我方法没用对还是怎么回事,我用的组件只能获取到安卓手机的机型,最后只能采用比较笨的方法了,根据苹果手机的像素比和分辨率进行区分,代码如下:

/

设备的像素比和设备分辨率表如下:

iPhone 3GS 35寸 => 320x480 => 1

iPhone 4/4s 35寸 => 320x480 => 2

iPhone 5/5s/5c 40寸 => 320x568 => 2

iPhone 6 47寸 => 375x667 => 2

iPhone 6Plus 55寸 => 414x736 => 3

iPhone 6s 47寸 => 375x667 => 2

iPhone 6sPlus 55寸 => 414x736 => 3

iPhone 7 47寸 => 375x667 => 2

iPhone 7Plus 55寸 => 414x736 => 3

iPhone 8 47寸 => 375x667 => 2

iPhone 8Plus5 55寸 => 414x736 => 3

iPhone X 58寸 => 375x812 => 3

iPhone XS 58寸 => 375x812 => 3

iPhone XS Max65寸 => 414x896 => 3

iPhone XR 61寸 => 414x896 => 2

/

let iPhone4_4s = windowdevicePixelRatio && windowdevicePixelRatio === 2 && windowscreenwidth === 320 && windowscreenheight === 480

let iPhone5_5s_5c = windowdevicePixelRatio && windowdevicePixelRatio === 2 && windowscreenwidth === 320 && windowscreenheight === 568

let iPhone6_6s_7_8 = windowdevicePixelRatio && windowdevicePixelRatio === 2 && windowscreenwidth === 375 && windowscreenheight === 667

let iPhone6P_6sP_7P_8P = windowdevicePixelRatio && windowdevicePixelRatio === 3 && windowscreenwidth === 414 && windowscreenheight === 736

接下来的机型大家可以根据上面的注释写下去,这里我只判断到了iphone8

打开CSDN,阅读体验更佳

iphone 屏幕大小及计算_杨宗卫的爸爸的博客_苹果屏幕

从分辨率的角度来看,iPhone6沿用二倍图(@2x),但需为iPhone6+提供更高的三倍图(@3x);从屏幕尺寸角度来看,需要重新对UI元素尺寸和布局进行适配,以期视觉协调。 (1)按宽度适配 我们先来看一下iPhone4~6(+)的屏幕高宽比: iPhone4(

js判断ipad还是安卓_JS判断客户端是否是iOS或者Android或者ipad(二

判断方法:粗略判断只检索 "iphone"和"safari/"字符串,严格判断则要同时包含 "mozilla/","iphone","mobile/","safari/"四个字符串 iPhone版Opera Mobile: 特征表现: 以"opera/"开头,含有"iphone"字符串,同时含有 "opera mini/","

JavaScript 判断iPhone X Series机型的方法

写在前面 如果有更优雅的方式,一定要告诉我! 现状 iPhone X 底部是需要预留 34px 的安全距离,需要在代码中进行兼容。 现状对于 iPhone X 的判断基本是这样的: // h5 export const isIphonex = () => /iphone/gitest(navigatoruserAgent) && windowscreen && (windowscreenheight === 812 && windowscreenwidth === 375); 这在之前是没问题的,新的 iPhone X Series 设备发布之后,这个就会兼容就有问

swift 含iPhone14系列 具体机型判断(最新最全)

public extension UIDevice { var modelName: String { var systemInfo = utsname() uname(&systemInfo) let machineMirror = Mirror(reflecting: systemInfomachine) let identifier = machineMirrorchildrenreduce("") {

继续访问

H5页面适配所有iPhone和安卓机型的六个技巧_曲小强的博客

img标签的高清化,可以通过JS判断devicePixelRatio的值来加载不同尺寸的,但是对于背景图,写在CSS中的,用JS来判断就略麻烦了,还好CSS通过media query也能判断dpr。 目前兼容性最好的背景图高清化实现方式,使用media query的-webkit-mi

如何获取当前设备的机型(更新到iPhoneX)判断机型是否为iPhone X

判断机型是否为iPhone X,首先想到的是判断当前设备的机型,另外也可以从他的固有尺寸去判断: #define KIsiPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UI

最新发布 JS判断是否是ioS或者Android

JS判断是否是ioS或者Android

继续访问

js判断苹果ios各类机型

首先需要得到设备像素比/设备分辨率(根据下面设备表去判断) / iPhone 3GS35吋320x480@1x320x480 iPhone 4/4s35吋320x480@2x640x960 iPhone 5/5s/5c40吋320x568@2x640x1136 iPhone 647吋375x667@2x750x1334 iPhone 6Plus55吋414x736@3x1242x2208 iPhone 6s47吋375x667@2x750x1334 iPhone 6sPlus55吋414x7

继续访问

移动开发屏幕适配分析_weixin_34205076的博客

iPhone 3GS(非Retina屏幕)iPhone 4(Retina屏幕) 右边的明显要比左边的清晰,这是因为PPI要高,何为PPI。 1)PPI与DPI PPI和DPI这两个是密度单位,不是度量单位。 1 PPI(pixels per inch):图像分辨率 (在图像中,每英寸所包含的

100个原生的JavaScript实用功能代码片段_唐策的博客

40、原生JavaScript获取移动设备屏幕宽度 41、原生JavaScript完美判断是否为网址 42、原生JavaScript根据样式名称检索元素对象 43、原生JavaScript判断是否以某个字符串开头 44、原生JavaScript判断是否以某个字符串结束

iPhone12机型判断

iPhone12机型判断 case "iPhone13,1" : return "iPhone 12 mini"; case "iPhone13,2" : return "iPhone 12"; case "iPhone13,3" : return "iPhone 12 Pro"; case "iPhone13,4" : return "iPhone 12 Pro Max";

继续访问

iphonex系列机型判断

iphonex xs xr xsmax 判断 // iphonex xs xr xsmax 判断 export function isIphonX() { // iPhone X、iPhone XS var isIPhoneX = /iphone/gitest(windownavigatoruserAgent) && windowdevicePixelRat

继续访问

iPhone~iPhone14屏幕尺寸和分辨率的相关知识 ( DPI vs PPI pt vs px

iPhone 4和iPhone 3GS的屏幕尺寸实际上是一样的,都是35英寸。在屏幕上同样一个点,实际尺寸大小一样,只是在iPhone 4上单位英寸内的像素点更多,看起来更加细腻。 4 iPhone 6/6s Plus分辨率是1242 x 2208,为什么渲染后分辨率变为1080

纯JS判断iPhone准确机型,iPhone6~iPhoneXs Max

工作中所用到的对于iPhone各类机型的准确识别, 亲测可用,现在分享一下: //iPhone 6/6s/7/8 let isIPhone6 = /iphone/gitest(windownavigatoruserAgent) && windowdevicePixelRatio && windowdevicePixelRatio === 3 && wind

继续访问

js判断手机是否是苹果

前端开发会遇到判断设备类型是否是苹果端,记录一下js代码

继续访问

判断iPhone型号

#import <sys/utsnameh> #pragma mark -- 判断手机型号 -(NSString)judgeIphoneType { struct utsname systemInfo; uname(&systemInfo); NSString phoneType = [NSString stringWithCString: systemInfomachine encoding:NSASCIIString

继续访问

移动端:js如何判断当前的手机系统是安卓还是iOS

废话不多说,直接上代码: // 判断当前系统是ios还是安卓 let u = navigatoruserAgent; let isAndroid = uindexOf("Android") > -1 || uindexOf("Adr") > -1; //android终端 let isIOS = !!umatch(/\(i[^;]+;( U;) CPU+Mac OS X/); //ios终端 if (isAndroid) { consolelog('安卓手机') } i

继续访问

Javascript 识别iPhone、Android移动手机

通过userAgent简单识别访问设备类别

继续访问

html获取手机型号,前端通过js获取手机型号

###前段通过js获取手机型号需求:用户登录后记录当前的手机型号并记录插件:使用步骤:获取UA信息->根据安卓和IOS不同的处理IOS再通过插件mobile-device-js去获取型号安卓通过解析UA信息去获取build之前的信息得到手机型号//引入插件//获取userAgent信息var user_agent = navigatoruserAgent;consolelog(user_

继续访问

原生js判断iPhoneX系列手机型号

#原生js判断iPhoneX系列手机型号 static isIphone() { return /iphone/gitest(windownavigatoruserAgent) } static isIphonXSeries() { if (window !== 'undefined' && window && !thisisIphone()) return false; const xSeriesConfig = [ {

继续访问

ios在判断设备是ipad_使用JS判断设备终端是iPhone、iPad或者电脑(PC)

今天在做一个轮播广告的项目,轮播广告上有两个特效:第一就是鼠标经过变亮,再就是点击图会切换成文字描述的层且覆盖。通常这样的效果在PC端没什么问题的,但是到IPAD上面就会需要点击两下才能切换,所以我想了想,有没有办法让ipad上只执行点击的JS代码,而不执行滑动的代码,于是就想到了“用JS判断终端设备”来解决这个问题,下面就分享下方法:iPad 使用的是 Safari Mobile 浏览器

继续访问

JS判断是苹果系统(ios)还是安卓系统(Android)或者PC端

前言 今天看到一道面试题,JS判断是否是苹果系统(ios)和安卓系统(Android)客户端,一下就涉及到自己的知识盲区,赶紧亡羊补牢一下。顺便在拓展一下是pc还是移动端?pc端的话,又是在什么浏览器运行? JS判断是否是苹果系统(ios)和安卓系统(Android)客户端? <--!通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端。代码如下--> <script type="text/javascript"> var u = na

继续访问

js判断手机机型

function judgeBrand(sUserAgent) { var isIphone = sUserAgentmatch(/iphone/i) == "iphone"; var isHuawei = sUserAgentmatch(/huawei/i) == "huawei"; var isHonor = sUserAgentmatch(/honor/i) == "honor"; var isOppo = sUserAgentmatc

继续访问

iOS Swift 判断手机机型 已更新 至iPhone12

/// 扩展UIDevice extension UIDevice { /// 获取设备具体详细的型号 var modelName: String { var systemInfo = utsname() uname(&systemInfo) let machineMirror = Mirror(reflecting: systemInfomachine) let ide

继续访问

移动端判断是android还是ios

多端开发

继续访问

热门推荐 史上最简单,js并获取手机型号

js获取手机型号

继续访问

js 根据屏幕尺寸判断是否为iphone14

前端

javascript

写评

1、目前手机主要分辨率有720p(720×1280),1080p(1080×1920),2k(2560×1440)。

2、分辨率的解释:每个手机屏幕不一样对应像素大小也不一样。其实所有的画面都是由一个个的小点组成的,这一个个的小点就称之为像素。 一块方形的屏幕横向有多少个点,竖向有多少个点,相乘之后的数值就是这块屏幕的像素(数码相机的像素也是这么乘积出来的)。

DPI和PPI是两个不同的概念。LZ算的是PPI

ppi (pixels per inch):图像的采样率(在图像中,每英寸所包含的像素数目)

dpi (dots per inch):打印分辨率 (每英寸所能打印的点数,即打印精度)

ppi和dpi确实是两个概念,但是有些事情是约定成俗的,的ppi无法反映这张能在冲印店得到的冲印质量,不如你去店里试试看,你问问 *** 作员你的是72ppi会得到什么样的冲印质量,多数 *** 作员会一头雾水。在冲印店里只用dpi,因为我们拿去的必定是为了输出成照片,对于 *** 作人员,他要知道的就是你的像素和你所需要印制的尺寸,这两个要素构成了dpi,所以尽管不规范,对于需要冲印的我们只有用dpi的大小来沟通。

以上就是关于Android手机js获取屏幕尺寸不准,导致计算的问题全部的内容,包括:Android手机js获取屏幕尺寸不准,导致计算的问题、JS - 获取手机陀螺仪、html 或者HTML5 加上js能获取手机设备的id号吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9594300.html

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

发表评论

登录后才能评论

评论列表(0条)