`

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

阅读更多

开发手机应用程序的时候,除了底层对API的掌握外,最重要的仍是屏幕分辨率概念的里加尔,由于各个手机厂商采用的屏幕尺寸不同,UI接口呈现及布局自然也在、各种迥异。

Android可设置为随着窗口大小调整缩放比例,但即使如此,手机程序设计人员还是必须清楚的指导手机屏幕的边界,以避免缩放后造成的布局变形等问题,下面是个小例子,只需要几句即可获得手机分辨率,当中最关键的就是DisplayMetrics类的应用

metrics ['metriks] 度量,测量

heightPixels:显示高度的绝对像素

widthPixels:显示宽度的绝对像素

 

package org.hualang.other;

import android.app.Activity;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.widget.TextView;

public class Other extends Activity {
    /** Called when the activity is first created. */
	private TextView text1,text2;
    @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 + "x" + dm.heightPixels;
        
        text1 = (TextView)findViewById(R.id.text1);
        text1.setText(strOpt);
    }
}

 

运行结果:



 

  • 大小: 6.8 KB
分享到:
评论
6 楼 miyila 2011-06-14  
我是(新手)  谢谢Lz的共享
5 楼 w0017 2011-06-13  
dm.density
4 楼 hualang 2011-06-01  
funever 写道
入门级的了,LZ分享精神和学习精神可嘉!
还有,难道每次进入一个activity都要重新获取一次?LZ应该想想这个问题!

知道您是个高手,有些深度性的东西没有考虑到,我还比较磋,仅仅是为了学会如何实现,多谢您的教诲
3 楼 kkvsyy 2011-06-01  
//必须引用android.util.DisplayMetrics 
        DisplayMetrics dm = new DisplayMetrics(); 
        getWindowManager().getDefaultDisplay().getMetrics(dm); 
学习了
2 楼 一点寒意 2011-06-01  
楼主精神可嘉
1 楼 funever 2011-06-01  
入门级的了,LZ分享精神和学习精神可嘉!
还有,难道每次进入一个activity都要重新获取一次?LZ应该想想这个问题!

相关推荐

Global site tag (gtag.js) - Google Analytics