2012年5月30日 星期三

[Android]取得手機螢幕大小 (Display Metrics)




<GetDisplayMetrics.java>
   1: package com.android.getdisplaymetrics;
   2:  
   3: import android.app.Activity;
   4: import android.os.Bundle;
   5: import android.util.DisplayMetrics;
   6: import android.view.View;
   7: import android.view.View.OnClickListener;
   8: import android.widget.Button;
   9: import android.widget.TextView;
  10:  
  11: public class GetDisplayMetrics extends Activity {
  12:  
  13:     private TextView textviewDisplayMetrics;
  14:     private Button btnRun, btnExit;
  15:     
  16:     @Override
  17:     public void onCreate(Bundle savedInstanceState) {
  18:         super.onCreate(savedInstanceState);
  19:         setContentView(R.layout.main);
  20:         findViews();
  21:         setButtonListeners();
  22:     }
  23:     
  24:     private void findViews() {
  25:         textviewDisplayMetrics = (TextView) findViewById(R.id.displaymetricsTextView);
  26:         btnRun = (Button) findViewById(R.id.runBtn);
  27:         btnExit = (Button) findViewById(R.id.exitBtn);
  28:     }
  29:     
  30:     private void setButtonListeners() {
  31:  
  32:         btnRun.setOnClickListener(new OnClickListener(){
  33:         // 取得手機螢幕大小
  34:             public void onClick(View v) {
  35:                  getDisplayMetrics();
  36:             }
  37:         });
  38:         
  39:         btnExit.setOnClickListener(new OnClickListener(){
  40:         // 執行 【離開】
  41:             public void onClick(View v) {
  42:                 android.os.Process.killProcess(android.os.Process.myPid());
  43:             }
  44:         });
  45:     }
  46:     
  47:     private void getDisplayMetrics() {
  48:        // 取得手機螢幕大小
  49:         DisplayMetrics dm = new DisplayMetrics();
  50:         this.getWindowManager().getDefaultDisplay().getMetrics(dm);
  51:         textviewDisplayMetrics.setText(    getString(R.string.strDisplayMetrics)+
  52:                                         dm.widthPixels + " * " + dm.heightPixels);        
  53:     }
  54:     
  55: }

<main.xml>
   1: <?xml version="1.0" encoding="utf-8"?>
   2: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   3:     android:layout_width="fill_parent"
   4:     android:layout_height="fill_parent"
   5:     android:orientation="vertical" >
   6:  
   7:     <TextView
   8:         android:id="@+id/displaymetricsTextView"
   9:         android:layout_width="fill_parent"
  10:         android:layout_height="wrap_content"
  11:         android:text="@string/strDisplayMetrics" />
  12:  
  13:     <LinearLayout
  14:         android:layout_width="match_parent"
  15:         android:layout_height="wrap_content" >
  16:  
  17:         <Button
  18:             android:id="@+id/runBtn"
  19:             android:layout_width="wrap_content"
  20:             android:layout_height="wrap_content"
  21:             android:text="@string/strExecute" />
  22:  
  23:         <Button
  24:             android:id="@+id/exitBtn"
  25:             android:layout_width="wrap_content"
  26:             android:layout_height="wrap_content"
  27:             android:text="@string/strExit" />
  28:  
  29:     </LinearLayout>
  30:  
  31: </LinearLayout>

<strings.xml>
   1: <?xml version="1.0" encoding="utf-8"?>
   2: <resources>
   3:  
   4:     <string name="hello">Hello World, GetDisplayMetrics!</string>
   5:     <string name="app_name">GetDisplayMetrics</string>
   6:     <string name="strDisplayMetrics">手機螢幕大小:</string>
   7:     <string name="strExecute">取得手機螢幕大小</string>
   8:     <string name="strExit">離開</string>
   9:  
  10: </resources>

沒有留言:

張貼留言