职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 876|回复: 4

Android杂谈---获取手机屏幕大小

[复制链接]
天上智喜 发表于 2011-7-12 09:30 | 显示全部楼层 |阅读模式
开发手机应用程序的时候,除了底层对API的掌握外,最重要的仍是屏幕分辨率概念的里加尔,由于各个手机厂商采用的屏幕尺寸不同,UI接口呈现及布局自然也在、各种迥异。
Android可设置为随着窗口大小调整缩放比例,但即使如此,手机程序设计人员还是必须清楚的指导手机屏幕的边界,以避免缩放后造成的布局变形等问题,下面是个小例子,只需要几句即可获得手机分辨率,当中最关键的就是DisplayMetrics类的应用
metrics ['metriks] 度量,测量
heightPixels:显示高度的绝对像素
widthPixels:显示宽度的绝对像素
  1. package org.hualang.other;   
  2.   
  3. import android.app.Activity;   
  4. import android.content.res.Resources;   
  5. import android.graphics.drawable.Drawable;   
  6. import android.os.Bundle;   
  7. import android.util.DisplayMetrics;   
  8. import android.widget.TextView;   
  9.   
  10. public class Other extends Activity {   
  11.     /** Called when the activity is first created. */  
  12.     private TextView text1,text2;   
  13.     @Override  
  14.     public void onCreate(Bundle savedInstanceState) {   
  15.         super.onCreate(savedInstanceState);   
  16.         setContentView(R.layout.main);   
  17.         //必须引用android.util.DisplayMetrics   
  18.         DisplayMetrics dm = new DisplayMetrics();   
  19.         getWindowManager().getDefaultDisplay().getMetrics(dm);   
  20.            
  21.         String strOpt = "手机屏幕分辨率:"+dm.widthPixels + "x" + dm.heightPixels;   
  22.            
  23.         text1 = (TextView)findViewById(R.id.text1);   
  24.         text1.setText(strOpt);   
  25.     }   
  26. }  

  27. package org.hualang.other;

  28. import android.app.Activity;
  29. import android.content.res.Resources;
  30. import android.graphics.drawable.Drawable;
  31. import android.os.Bundle;
  32. import android.util.DisplayMetrics;
  33. import android.widget.TextView;

  34. public class Other extends Activity {
  35.     /** Called when the activity is first created. */
  36.         private TextView text1,text2;
  37.     @Override
  38.     public void onCreate(Bundle savedInstanceState) {
  39.         super.onCreate(savedInstanceState);
  40.         setContentView(R.layout.main);
  41.         //必须引用android.util.DisplayMetrics
  42.         DisplayMetrics dm = new DisplayMetrics();
  43.         getWindowManager().getDefaultDisplay().getMetrics(dm);
  44.         
  45.         String strOpt = "手机屏幕分辨率:"+dm.widthPixels + "x" + dm.heightPixels;
  46.         
  47.         text1 = (TextView)findViewById(R.id.text1);
  48.         text1.setText(strOpt);
  49.     }
  50. }
复制代码
爱车车 发表于 2011-7-12 09:30 | 显示全部楼层
入门级的了,LZ分享精神和学习精神可嘉!
还有,难道每次进入一个activity都要重新获取一次?LZ应该想想这个问题!

话说我当年 发表于 2011-7-12 09:30 | 显示全部楼层
楼主精神可嘉

能文能武 发表于 2011-7-12 09:30 | 显示全部楼层
//必须引用android.util.DisplayMetrics  
        DisplayMetrics dm = new DisplayMetrics();  
        getWindowManager().getDefaultDisplay().getMetrics(dm);  
学习了

jinchang 发表于 2011-7-12 09:31 | 显示全部楼层

知道您是个高手,有些深度性的东西没有考虑到,我还比较磋,仅仅是为了学会如何实现,多谢您的教诲


您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-3 02:38 , Processed in 0.136614 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表