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

android中如何获得手机屏幕的尺寸_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
android中如何获得手机屏幕的尺寸
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢android项目实战交流群
Keep up is a power.That power can change your destiny!
WindowManager wm = (WindowManager) getContext()
.getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();
WindowManager wm = this.getWindowManager();
int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();
3、&在一个Activity的onCreate方法中,写入如下代码:
DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthP
// 屏幕宽度(像素)
int height = metric.heightP
// 屏幕高度(像素)
float density = metric.
// 屏幕密度(0.75 / 1.0 / 1.5)
int densityDpi = metric.densityD
// 屏幕密度DPI(120 / 160 / 240)
但是,需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。因此,研究之后发现,若没有设定多分辨率支持的话,Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,这样的话就大大影响了程序的编码。所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,具体的内容如下:
&supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" /&
这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。
阅读(...) 评论()Android学习笔记之获取手机屏幕大小_Linux编程_Linux公社-Linux系统门户网站
你好,游客
Android学习笔记之获取手机屏幕大小
来源:Linux社区&
作者:nkujerry
手机的屏幕尺寸问题一直是让开发者感觉很头疼的问题,由于各手机厂商所采用的屏幕尺寸不同,user UI接口呈现及布局自然也各自迥异。所以,在开发android手机应用程序时,除了对底层API的掌握之外,最重要的仍是屏幕分辨率概念的理解。
android可设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须清楚地知道手机屏幕的边界,以免缩放之后造成的布局(Layout)变形问题。在android中,只需几行代码就可以取得手机屏幕分辨率,其中的关键则是DisplayMetrics类的应用。
DisplayMetrics类直接继承自Object类,存放在Android.util包下。DisplayMetrics对象记录了一些常用的信息,包含了显示信息、大小、维度和字体等,如下表所示:
static int
DEFAULT_DENSITY
The reference density used throughout the system.
The logical density of the display.
heightPixels
The absolute height of the display in pixels.
scaledDensity
A scaling factor for fonts displayed on the display.
widthPixels
The absolute width of the display in pixels.
The exact physical pixels per inch of the screen in the X dimension.
The exact physical pixels per inch of the screen in the Y dimension.
值得一提的是,widthPixels和heightPixels记录了手机屏幕的宽和高,我们使用这两个值便可得到手机屏幕分辨率。注意此处的像素指的是绝对(Absolute)像素,而非相对像素。
下面是获取屏幕分辨率的代码:
public class MainActivity extends Activity {& & private TextView text=&@Override&protected void onCreate(Bundle savedInstanceState)&{& super.onCreate(savedInstanceState);& super.setContentView(R.layout.activity_main);& this.text=(TextView)super.findViewById(R.id.text);& DisplayMetrics dm=new DisplayMetrics();& super.getWindowManager().getDefaultDisplay().getMetrics(dm);& String strOpt="手机屏幕分辨率为:"+dm.widthPixels+"*"+dm.heightP& this.text.setText(strOpt);&}
布局文件非常简单,一个TextView组件即可:
&RelativeLayout xmlns:android="/apk/res/android"& & xmlns:tools="/tools"& & android:layout_width="match_parent"& & android:layout_height="match_parent"& & android:paddingBottom="@dimen/activity_vertical_margin"& & android:paddingLeft="@dimen/activity_horizontal_margin"& & android:paddingRight="@dimen/activity_horizontal_margin"& & android:paddingTop="@dimen/activity_vertical_margin"& & tools:context=".MainActivity" &
& & &TextView& & & & android:id="@+id/text"& & & & android:layout_width="wrap_content"& & & & android:layout_height="wrap_content" /&
&/RelativeLayout&
程序运行效果截图:
更多Android相关信息见 专题页面
相关资讯 & & &
& (07月23日)
& (06/14/:05)
& (06/14/:06)
& (06/14/:25)
& (06/14/:50)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款第三方登录:

我要回帖

更多关于 如何获取手机屏幕大小 的文章

 

随机推荐