Android基础教程(四)之-----取得手机屏幕大小DisplayMetrics的应

本文将通过一个简单的Android应用示例,展示如何利用DisplayMetrics类获取设备屏幕的分辨率信息。通过点击按钮触发事件,应用会在TextView中动态显示当前设备的屏幕宽度和高度,为开发者提供了一个快速获取屏幕尺寸的方法。

大家好,我们这一节要讲的内容是Android如何取得手机屏幕大小的例子.本节主要用了三个对象TextView ,Button ,以及DisplayMetrics ,其中Displaymetrics 是取得手机屏幕大小的关键类,这个例子非常的简单,当我们点击按钮,触发事件,在TextView 里显示手机屏幕的宽高分辨率.

看一下效果图:

按钮触发前:

按钮触发后:

其中我们在res->layout->values->strings.xml增加了两行如下

<resources>

    <string name="app_name">DisplaymetricsDemo</string>
    <string name="hello_world">Hello world,DisplayMtricsDemo!</string>
    <string name="menu_settings">Settings</string>
    <string name="title_activity_displaymetrics_demo">DisplaymetricsDemo</string>
    <string name="resolution">手机分辨率为:</string>
    <string name="pressme">按我获分辨率</string>

 
</resources>

 

而布局文件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/textview1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/resolution"/>
   
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/pressme"/>

</LinearLayout>
   

最后是我们主类DisplaymetricsDemo.java,代码如下:

package com.example.displaymetricsdemo;

import android.os.Bundle;
import android.app.Activity;
import android.util.DisplayMetrics;
import android.widget.Button;
import android.widget.TextView;
import android.view.View;

public class DisplaymetricsDemo extends Activity {
 
 private TextView textview1;
 private Button button1;
 private DisplayMetrics dm; //获取手机屏幕分辨率的类

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        //获取布局中TextView,Button对象
        textview1 = (TextView)findViewById(R.id.textview1);
        button1 = (Button)findViewById(R.id.button1);
       
        //增加button事件响应
        button1.setOnClickListener(new Button.OnClickListener(){
        public void onClick(View v)
        {
         dm = new DisplayMetrics();
         getWindowManager().getDefaultDisplay().getMetrics(dm);
         
         //获得手机的宽度和高度像素单位为px
         String str = "手机屏幕分辨率为:" + dm.widthPixels + "*" +dm.heightPixels;
         textview1.setText(str);
        }
        });

    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值