android 开发中 怎么用js获取手机屏幕高度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 开发中 怎么用js获取手机屏幕高度相关的知识,希望对你有一定的参考价值。

webview.addjavascriptinterface可以调用android代码
android可以获得屏幕高度
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int height = dm.heightPixels//这个就是屏幕高度了。

webView.addJavascriptInterface(new WebAppInterface(this), "Android");
这个就创立了一个接口名,叫“Android”,运行在WebView中的JS代码可以通过这个名字调用WebAppInterface类中的showToast()方法:
<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />
<script type="text/javascript">
function showAndroidToast(toast)

Android.showToast(toast);

</script>
参考技术A

    直接在js中输出alert(window.screen.height);alert(window.screen.width);

参考技术B window.height

JS 如何获取和监听屏幕方向的改变?

大概写一下:

方法一:用触发手机的横屏和竖屏之间的切换的事件

代码如下:

window.addEventListener("orientationchange", function()

// 宣布新方向的数值

alert(window.orientation);

, false);

方法二:监听调整大小的改变

代码如下:

window.addEventListener("resize", function()

// 得到屏幕尺寸 (内部/外部宽度,内部/外部高度)

, false);

css判断横竖屏幕

代码如下:

@media screen and (orientation:portrait)

/* portrait-specific styles */



/* landscape */

@media screen and (orientation:landscape)

/* landscape-specific styles */



本地window.matchMedia方法允许实时媒体查询。我们可以利用以上媒体查询找到我们是处于直立或水平视角:

代码如下:

var mql = window.matchMedia("(orientation: portrait)");

// 如果有匹配,则我们处于垂直视角

if(mql.matches)

// 直立方向

alert("1")

else

//水平方向

alert("2")



// 添加一个媒体查询改变监听者

mql.addListener(function(m)

if(m.matches)

// 改变到直立方向

document.getElementById("test").innerHTML="改变到直立方向";



else

document.getElementById("test").innerHTML="改变到水平方向";

// 改变到水平方向



);
参考技术A 大概写一下:

方法一:用触发手机的横屏和竖屏之间的切换的事件

代码如下:

window.addEventListener("orientationchange", function()

// 宣布新方向的数值

alert(window.orientation);

, false);

方法二:监听调整大小的改变

代码如下:

window.addEventListener("resize", function()

// 得到屏幕尺寸 (内部/外部宽度,内部/外部高度)

, false);

css判断横竖屏幕

代码如下:

@media screen and (orientation:portrait)

/* portrait-specific styles */



/* landscape */

@media screen and (orientation:landscape)

/* landscape-specific styles */



本地window.matchMedia方法允许实时媒体查询。我们可以利用以上媒体查询找到我们是处于直立或水平视角:

代码如下:

var mql = window.matchMedia("(orientation: portrait)");

// 如果有匹配,则我们处于垂直视角

if(mql.matches)

// 直立方向

alert("1")

else

//水平方向

alert("2")



// 添加一个媒体查询改变监听者

mql.addListener(function(m)

if(m.matches)

// 改变到直立方向

document.getElementById("test").innerHTML="改变到直立方向";



else

document.getElementById("test").innerHTML="改变到水平方向";

// 改变到水平方向



);

以上是关于android 开发中 怎么用js获取手机屏幕高度的主要内容,如果未能解决你的问题,请参考以下文章

如何获取屏幕的宽度

android怎么获取fragment屏幕宽度

如何将获取的屏幕宽度之后传给css

android 怎么获取当前屏幕的截图

Android开发中怎样获取WebView的内容宽度高度

JS 如何获取和监听屏幕方向的改变?