怎样获取Android手机屏幕的大小

怎样获取Android手机屏幕的大小,第1张

可以通过使用类DisplayMetrics来获取手机屏幕的分辨率大小。

DisplayMetrics类是获取手机屏幕各种属性的关键类,下面通过例子来展示如何获取手机屏幕的分辨率。

在布局文件mainxml中添加一个TextView对象,一个Button对象。其中TextView对象用来显示获得的分辨率值,Button对象是当点击时获取分辨率。mainxml的代码如下:

<xml version="10" encoding="utf-8">

<LinearLayout xmlns:android=">

 android:orientation="vertical"

 android:layout_width="fill_parent"

 android:layout_height="fill_parent"

 >

<TextView

   android:id="@+id/tv"

   android:layout_width="fill_parent"

   android:layout_height="wrap_content"

   android:text="手机分辨率为:"/>

 <Button

    android:id="@+id/btnOK"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="获取手机分辨率"/>

</LinearLayout>

在TestActivity中的代码如下:

public class TestActivity extends Activity {

   

 private TextView tv;

 private Button btn;

 //获取手机屏幕分辨率的类

  private DisplayMetrics dm;

 public void onCreate(Bundle savedInstanceState) {

     superonCreate(savedInstanceState);

     setContentView(Rlayoutmain);

   

     tv = (TextView)findViewById(Ridtv);

     btn = (Button)findViewById(RidbtnOK);

     btnsetOnClickListener(new ViewOnClickListener() {

       

       public void onClick(View v) {

           dm = new DisplayMetrics();

       getWindowManager()getDefaultDisplay()getMetrics(dm);

               //获得手机的宽度和高度像素单位为px

       String strPM = "手机屏幕分辨率为:" + dmwidthPixels+" "+dmheightPixels;

       tvsetText(strPM);

         }

     });

 }

}

运行程序后,当我们点击Button按钮时,可以看到下面的效果图:

1、js中获取当前屏幕宽度方法如下:

网页可见区域宽: documentbodyclientWidth

网页可见区域高: documentbodyclientHeight

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

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

网页正文全文宽: documentbodyscrollWidth

网页正文全文高: documentbodyscrollHeight

网页被卷去的高: documentbodyscrollTop

网页被卷去的左: documentbodyscrollLeft

网页正文部分上: windowscreenTop

网页正文部分左: windowscreenLeft

屏幕分辨率的高: windowscreenheight

屏幕分辨率的宽: windowscreenwidth

屏幕可用工作区高度: windowscreenavailHeight

屏幕可用工作区宽度: windowscreenavailWidth

2、js简介

js,是JavaScript的缩写,是一种直译式脚本语言,一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

avaScript是的源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行。直译语言的弱点是安全性较差,而且在JavaScript中,如果一条运行不了,那么下面的语言也无法运行。

作者:徐景周版权所有:徐景周

基本构成思想:

原理很简单,只需要简要的三步。既:获取屏幕DC、得到当前鼠标所在的像素值、分解出像素值中的红、绿、蓝三色既可,很简单吧!

关键代码实现:

1、获取屏幕DC

HDC hDC = ::GetDC(NULL); //获取屏幕DC

2、获取当前鼠标位置像素值CPoint pt;GetCursorPos(&pt); //得到当前鼠标所在位置

COLORREF clr = ::GetPixel(hDC, ptx, pty); //获取当前鼠标点像素值

3、分解出像素点中的红、绿、蓝颜色值

CString ClrText;

ClrTextFormat("%d",GetRValue(clr)); //分解出红色值

ClrTextFormat("%d",GetGValue(clr)); //分解出绿色值

ClrTextFormat("%d",GetBValue(clr)); //分解出蓝色值

::ReleaseDC(NULL, hDC); //释放屏幕DC

以上部分代码的具体实现的细节问题,可在下载实例代码后,仔细查看源码既可(内有详细注释)。

点击下载exe文件点击下载示例源码****:

地址:陕西省西安市劳动路2号院六单元

邮编:710082

我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸

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

在一个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)

但是,需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。

因此,研究之后发现,若没有设定多分辨率支持的话,Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,这样的话就大大影响了程序的编码。

所以,需要在工程的AndroidManifestxml文件中,加入supports-screens节点,具体的内容如下:

  <supports-screens

    android:smallScreens="true"

    android:normalScreens="true"

    android:largeScreens="true"

    android:resizeable="true"

    android:anyDensity="true" />

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

import androidappActivity;

import androidosBundle;

import androidutilDisplayMetrics;

import androidwidgetTextView;

public class TextCanvasActivity extends Activity {

    public void onCreate(Bundle savedInstanceState) {

        superonCreate(savedInstanceState);

        //setContentView(new MyView(this));

          

    //定义DisplayMetrics 对象  

      setContentView(Rlayoutmain);  

      DisplayMetrics  dm = new DisplayMetrics();  

      //取得窗口属性  

      getWindowManager()getDefaultDisplay()getMetrics(dm);  

       

      //窗口的宽度  

      int screenWidth = dmwidthPixels;  

       

      //窗口高度  

      int screenHeight = dmheightPixels;         

     TextView textView = (TextView)findViewById(Ridtv1);         

      textViewsetText("屏幕宽度: " + screenWidth + "\n屏幕高度: " + screenHeight); 

    }

}

<script>

windowonload = function(){

// 获取屏幕高度 documentdocumentElementclientHeight

consolelog(documentdocumentElementclientHeight);

// 获取屏幕宽度 documentdocumentElementclientWidth

consolelog(documentdocumentElementclientWidth);

}

</script>

获取手机屏幕大小,可以通过ZOL中关村在线查进行查询,还可以使用尺子测量手机屏幕对角线长度,换算一下即可。接下来我为大家 *** 作演示一下。

ZOL中关村查询

进入中关村在线查,在图示位置输入需要查询的手机型号,点击“搜索”,以魅族16s手机为例。

进入之后,点击“查看更多参数”,如图所示。

进入之后,即可看到手机屏幕大小,如图所示。

用尺子测量

用尺子测量屏幕对角线长度,然后换算成英寸即可(254厘米 = 1 英寸)。

以上就是关于怎样获取Android手机屏幕的大小全部的内容,包括:怎样获取Android手机屏幕的大小、js 中怎么获取当前屏幕的宽度、如何获取屏幕上各颜色的红、绿、蓝值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存