当前位置: 首页 > 知识库问答 >
问题:

与DisplayMetrics和$(窗口)不同的宽度和高度。WebView中的width()

翟渝
2023-03-14

在Android应用程序中,我尝试使用以下方法获得屏幕宽度和高度:

DisplayMetrics metrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        final int screenWidth = metrics.widthPixels;
        final int screenHeight = metrics.heightPixels;

我的手机报告分别为1080和1920,符合规格。

但是,在webview中,当我使用:

var screenWidth = $(window).width();

这个报告只有360个。

据我所知,两者都以像素为单位,那么为什么数值不同呢?

共有3个答案

东方嘉佑
2023-03-14

我使用这个简单的方法(在utils类中)来转换px

public static int convertIntToDp(int inputValue, DisplayMetrics displayMetrics){
        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, inputValue, displayMetrics);
    }

我希望能帮到你

王刚毅
2023-03-14

您可以使用getResources(). getDisplayMetrics()方法获取displayMetrics。

DisplayMetrics displayMetrics = getResources().getDisplayMetrics(); 
final int screenWidth = metrics.widthPixels;
final int screenHeight = metrics.heightPixels;
宋康安
2023-03-14

两种情况下的通知宽度相同,但单位不同。

例如。

这是以像素为单位的度量。宽度像素;

这个是在Dps 360或$(窗口)中。宽度();

将360Dps转换为像素

在xxhdpi设备上,360dps=1080px

Dp到像素

 类似资料:
  • 问题内容: 抱歉,我一直在搜索此论坛,但没有确切答案。所以我问自己的。 我有一堂课,用目标纵向屏幕640x960显示glView和webview两种布局。我计划拆分布局。因此我的背景看起来是在(0,0,640,480)或纵向屏幕的一半处绘制的。,我想在(0,481,640,479)处绘制我的Web视图,该视图占据了从中间到底部的另一半。但是,我失败了,无法弄清楚如何实现我想要的布局。如何设置web

  • 主要内容:1. width,2. height,3. max-width 和 max-height,4. min-width 和 min-heightCSS 尺寸属性指的就是元素的宽度和高度属性,虽然说非常简单,但却是必须掌握的技能。CSS 中提供了 width、height、max-width、min-width、max-height 和 min-height 等几个属性来设置元素的宽度和高度,这些元素使用起来非常简单,下面我们就来简单介绍一下。 1. width 通过 width 属性可以设

  • 问题内容: 是否可以固定HTML5 元素的宽度和高度? 通常的方法如下: 问题答案: 的DOM元素具有和对应的属性的和属性。在JavaScript代码中将它们设置为数值,以调整画布的大小。例如: 请注意,这将清除画布,但是您应该遵循此操作来处理那些不能完全清除画布的浏览器。尺寸更改后,您需要重绘要显示的所有内容。 进一步注意的是,高度和宽度是用于绘制逻辑帆布尺寸和是 不同的 距离和CSS属性。如果

  • 组件的高度和宽度决定了其在屏幕上显示的尺寸。 指定宽高 最简单的给组件设定尺寸的方式就是在样式中指定固定的 width 和 height 。React Native 中的尺寸都是无单位的,表示的是与设备像素密度无关的逻辑像素点。 export default class HelloWorld extends Component { render() { return ( <

  • 文件:main。派克 文件:run_me.py 我试图从左下角到右上角画一条线。 我认为这可能是一个尺度问题(变量self.available\u width,self.available\u height)。 我做错了什么?

  • 前面我们提到HTML元素的尺寸(高或宽)是动态的,会随着内容调整。不过我们也可以为元素设定固定的尺寸大小。 blockquote{ width: 600px;} 上面的 blockquote 将始终保持600px的宽度,如果浏览器窗口小于600px,将显示一个水平滚动条。 因为我们只设置了宽度,那么这个 blockquote 的高度仍然是动态的,会自动调整来适应内容。 CSS 溢出(overflo