大家好,我們這一節要講的內容是Android如何取得手機螢幕大小的例子.本節主要用了三個對象
TextView ,
Button ,以及
DisplayMetrics ,其中
Displaymetrics 是取得手機螢幕大小的關鍵類,這個例子非常的簡單,當我們點擊按鈕,觸發事件,在
TextView 裡顯示手機螢幕的寬高解析度.
看一下:
按鈕觸發前:
按鈕觸發後:
其中我們在res->layout->values->string.xml增加了兩行如下(黑體)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, DisplayMetricsDemo!</string>
<string name="app_name">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.android.test;
import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class DisplayMetricsDemo extends Activity {
private TextView textview1;
private Button button1;
//擷取手機螢幕解析度的類
private DisplayMetrics dm;
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);
}
});
}
}
這個例子比較簡單,核心就是onClick裡面的幾行代碼,這一節就到此為止!謝謝大家~