注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

民主与科学

独立之人格,自由之思想

 
 
 

日志

 
 

取得手机屏幕大小  

2010-08-13 12:33:39|  分类: 问题小汇 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
取得手机屏幕大小
DisplayMetrics取得画面宽高的方法
范例说明
在开发手机应用程序时,除了底层对API的掌握度之外,最重要的仍是对屏幕分辨率的概念,因各家手机厂商所采用的屏幕尺寸不同,
user UI接口呈现及布局自然也各异。
尽管Android可设置为随着窗口大小调整缩放比例,但即便如此,
手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局(Layout)变形问题。这个范例非常的简短,只
需几行程序即可取得手机的分辨率,当中的关键则是DisplayMetrics类的应用。
android.util底下的DisplayMetrics对象,记录了一些常用的信息,包含了显示信息、大小、维度、字体等等;
在使用时,请记得引用android.util.DisplayMetrics。
值得一提的是DisplayMetrics对象里的widthPixels及heightPixels字段为整数类型,
在以下的程序当中,并没有对其作字符串类型的转换,因为字符串连接运算符的缘故,所以输出strOpt为字符串。
package irdc.ex03_05; 
import android.app.Activity; 
import android.os.Bundle;  
import android.util.DisplayMetrics;  
import android.widget.TextView;   
public class EX03_05 extends Activity  
{    private TextView mTextView01;        
  /** Called when the activity is first created. */   
  @Override   public void onCreate(Bundle savedInstanceState)    
  {      
   super.onCreate(savedInstanceState);      
   setContentView(R.layout.main);            
  
 /* 必须引用 android.util.DisplayMetrics */     
   DisplayMetrics dm = new DisplayMetrics();      
   getWindowManager().getDefaultDisplay().getMetrics(dm);       
     
   String strOpt = "手机屏幕分辨率为:" +              
   dm.
widthPixels + " × " + dm.heightPixels;            
   mTextView01 = (TextView) findViewById(R.id.myTextView01);      
   mTextView01.setText(strOpt);    
  }  

扩展学习
 程序一开始所创建的DisplayMetrics对象(程序中的dm),不需要传递任何参数(构造时),
 但在调用getWindowManager()之后,会取得现有的Activity的窗口句柄,
 此时,调用getDefaultDisplay方法将取得的宽高维度存放于DisplayMetrics对象dm中,
 而取得的宽高维度是以像素为单位(Pixel),"像素"所指的是"绝对像素"而非"相对像素"。
  评论这张
 
阅读(710)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017