正文  UI设计 > Toast >

简单的Button事件响应综合提示控件Toast的应用 Android教程

大 家好,我们这一节要讲的内容是Android如何取得手机屏幕大小的例子.本节主要用了三个对象TextView ,Button ,以及DisplayMetrics ,其中Displaymetrics 是取得手机屏幕大小的关键类,这个例子非常的简单,当......

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


看一下效果图:

按钮触发前:

按钮触发后:

其中我们在res->layout->values->string.xml增加了两行如下(黑体)


  1.     Hello World, DisplayMetricsDemo!
  2.     DisplayMetricsDemo
  3.     手机分辨率为:
  4.     按我获分辨率
复制代码

而布局文件main.xml代码如下:

  1.  
  2.     android:orientation="vertical"
  3.     android:layout_width="fill_parent"
  4.     android:layout_height="fill_parent"
  5.     >
  6.     android:id="@+id/textview1"
  7.     android:layout_width="fill_parent"
  8.     android:layout_height="wrap_content"
  9.     android:text="@string/resolution"
  10.     />
  11.     android:id="@+id/button1"
  12.     android:layout_width="wrap_content"
  13.     android:layout_height="wrap_content"
  14.     android:text="@string/pressme"
  15. />
  16.  
复制代码

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

  1. package com.android.test;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.util.DisplayMetrics;
  5. import android.view.View;
  6. import android.widget.Button;
  7. import android.widget.TextView;
  8.  
  9. public class DisplayMetricsDemo extends Activity {
  10.   
  11.     private TextView textview1;
  12.     private Button button1;
  13.     //获取手机屏幕分辨率的类
  14.     private DisplayMetrics dm;
  15.     public void onCreate(Bundle savedInstanceState) {
  16.         super.onCreate(savedInstanceState);
  17.         setContentView(R.layout.main);
  18.       
  19.         //获取布局中TextView,Button对像
  20.         textview1 = (TextView)findViewById(R.id.textview1);
  21.         button1 = (Button)findViewById(R.id.button1);
  22.       
  23.         //增加button事件响应
  24.       
  25.         button1.setOnClickListener(new Button.OnClickListener(){
  26.             public void onClick(View v)
  27.             {
  28.                 dm = new DisplayMetrics();
  29.                 getWindowManager().getDefaultDisplay().getMetrics(dm);
  30.                 //获得手机的宽带和高度像素单位为px
  31.                 String str = "手机屏幕分辨率为:" + dm.widthPixels
  32.                 +" * "+dm.heightPixels;
  33.                 textview1.setText(str);
  34.             }
  35.         });
  36.       
  37.     }
  38. }