Chinaunix首页 | 论坛 | 博客
  • 博客访问: 640295
  • 博文数量: 171
  • 博客积分: 2246
  • 博客等级: 大尉
  • 技术积分: 1574
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-31 11:45
文章分类

全部博文(171)

文章存档

2018年(3)

2017年(4)

2015年(1)

2014年(20)

2013年(57)

2012年(86)

分类: 嵌入式

2012-07-27 13:35:00

第一种: 
Java代码  收藏代码
  1. public  Point getDisplayMetrics() {       
  2.    DisplayMetrics dm = new  DisplayMetrics();       
  3.    dm = getApplicationContext().getResources().getDisplayMetrics();       
  4.    int  screenWidth = dm.widthPixels;       
  5.    int  screenHeight = dm.heightPixels;       
  6.    return   new  Point(screenWidth ,screenHeight );      
  7. }  
第二种: 
Java代码  收藏代码
  1. public  Point getDisplayScreen() { 
  2.    WindowManager windowManager = getWindowManager();      
  3.    Display display = windowManager.getDefaultDisplay();      
  4.    screenWidth  = display.getWidth();      
  5.    screenHeight = display.getHeight();      
  6.    return   new  Point(screenWidth ,screenHeight );      
  7. }  


注:构造函数DisplayMetrics 不需要传递任何参数;调用getWindowManager() 之后,会取得现有Activity 的Handle ,此时,getDefaultDisplay() 方法将取得的宽高维度存放于DisplayMetrics 对象中,而取得的宽高维度是以像素为单位(Pixel),“像素”所指的是“绝对像素”而非“相对像素”。

通过 DisplayMetrics的 toString()方法可以获取到 DisplayMetrics的大部分 fields信息,如下是在分辨率为 480x320情况下的一些输出信息:

其中,density为显示的逻辑分辨率(文档中说了很多,看得不是很明白);width及height就为屏幕分辨率(为绝对宽度与高度),与fields中的widthPixels及heightPixels一致;scaleDensity与density一致;xdpi及ydpi为准确物理像素。

点击(此处)折叠或打开

  1. package org.Gofe.display;

  2. import android.app.Activity;
  3. import android.graphics.Typeface;
  4. import android.graphics.drawable.Drawable;
  5. import android.os.Bundle;
  6. import android.util.DisplayMetrics;
  7. import android.widget.TextView;

  8. public class ActivityMain extends Activity {
  9. /** Called when the activity is first created. */
  10. private TextView textView;
  11. @Override
  12. public void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.main);
  15. //定义DisplayMetrics对象
  16. //DisplayMetrics 描述普通显示信息的结构,例如显示大小,密度,字体尺寸等
  17. DisplayMetrics dm=new DisplayMetrics();

  18. /*
  19. *获取手机窗口的Display来初始化DisplayMetrics对象
  20. *getWindowManager() 获取显示定制窗口的管理器
  21. *getDefaultDisplay() 获取默认显示Display对象
  22. *getMetrics(dm) 通过Display对象的数据来初始化一个DisplayMetrics对象
  23. */
  24. getWindowManager().getDefaultDisplay().getMetrics(dm);
  25. //得到屏幕宽高
  26. String showSize="手机屏幕分辨率:\n"+dm.widthPixels+"*"+dm.heightPixels;
  27. //根据id获得对象
  28. textView=(TextView)findViewById(R.id.myTextView01);
  29. //设置文本字体大小和字型
  30. textView.setTextSize(24);
  31. textView.setTypeface(null,Typeface.BOLD_ITALIC);
  32. //显示屏幕分辨率信息
  33. textView.setText(showSize);
  34. }
  35. }

阅读(1995) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~