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

 我来答
南温韦5K
2016-02-05 · TA获得超过230个赞
知道小有建树答主
回答量:243
采纳率:0%
帮助的人:160万
展开全部

我们可以通过使用类DisplayMetrics来获取手机屏幕的分辨率大小。DisplayMetrics类是获取手机屏幕各种属性的关键类。下面通过例子来展示如何获取手机屏幕的分辨率。


在布局文件main.xml中添加一个TextView对象,一个Button对象。其中TextView对象用来显示获得的分辨率值,Button对象是当点击时获取分辨率。main.xml的代码如下:


<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

   <TextView

      android:id="@+id/tv"

      android:layout_width="fill_parent"

      android:layout_height="wrap_content"

      android:text="手机分辨率为:"/>

    <Button

       android:id="@+id/btnOK"

       android:layout_width="fill_parent"

       android:layout_height="wrap_content"

       android:text="获取手机分辨率"/>

</LinearLayout>

    

在TestActivity中的代码如下:

public class TestActivity extends Activity {

         

    private TextView tv;

    private Button btn;

     

    //获取手机屏幕分辨率的类

     private DisplayMetrics dm;

     

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

         

        tv = (TextView)findViewById(R.id.tv);

        btn = (Button)findViewById(R.id.btnOK);

        btn.setOnClickListener(new View.OnClickListener() {

             

          public void onClick(View v) {

              dm = new DisplayMetrics();

          getWindowManager().getDefaultDisplay().getMetrics(dm);

                  //获得手机的宽度和高度像素单位为px

          String strPM = "手机屏幕分辨率为:" + dm.widthPixels+"* "+dm.heightPixels;

          tv.setText(strPM);

            }

        });

    }

  

}


运行程序后,当我们点击Button按钮时,可以看到效果图:

justok1235
2015-07-07 · TA获得超过1.4万个赞
知道大有可为答主
回答量:9594
采纳率:0%
帮助的人:5579万
展开全部
获取屏幕宽高
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
BaseView.screenW = dm.widthPixels;// 取得屏幕的宽度
BaseView.screenH = dm.heightPixels;// 取得屏幕的高度

楼主想做自适应的话,不是一句代码可以搞定的,很多项目组花了大把的经历写了万能自适函数,到最后,还是经常出问题,而且容易造成cpu资源过高消耗,给用户的体感大打折扣。因为这个现在一些小的项目组,就直接做多个分辨率的布局,然后跟据实际分辨率去掉用。这也是新手学开发最常见的方法
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雪缘轻梦
2016-01-21 · TA获得超过1003个赞
知道小有建树答主
回答量:187
采纳率:0%
帮助的人:94.6万
展开全部
下面的代码即可获取屏幕的尺寸: 在一个Activity的onCreate方法中,编写以下代码:
DisplayMetrics metric = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metric); int width = metric.widthPixels; // 宽度(PX) int height = metric.heightPixels; // 高度(PX) float density = metric.density; // 密度(0.75 / 1.0 / 1.5) int densityDpi = metric.densityDpi; // 密度DPI(120 / 160 / 240)
需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。
所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,如下:
这样当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Sy6Tetoy6
2015-07-07 · TA获得超过1781个赞
知道小有建树答主
回答量:967
采纳率:0%
帮助的人:798万
展开全部
各种手机管家都可以吧。
手机管家。。
百度手机助手。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夢瑆o悇溫潵浕
2016-01-14
知道答主
回答量:31
采纳率:0%
帮助的人:15万
展开全部
手机选择 设定 ---- 关于设备 -- Android 版本 就是的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
剑南仁潘
2016-01-29
知道答主
回答量:20
采纳率:0%
帮助的人:6.4万
展开全部
下载一个鲁大师或者安兔兔测评,打开就能看见手机基本参数了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
芷等雨来
2015-07-07 · TA获得超过644个赞
知道小有建树答主
回答量:690
采纳率:25%
帮助的人:285万
展开全部
鲁大师就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式