雖然Android可設定成隨著手機螢幕的大小來調整縮放比例,但是手機開發者在設計的時候還是必須清楚得知手機銀幕的邊界,避免在縮放的時候造成版面(layout)上的詭異變型,根據各家手機廠商螢幕尺寸的不同,必須對其螢幕解析度有所概念。
小試身手小範例:
藉著幾行程式碼來取得手機螢幕的解析度,當中的關鍵為DisplayMetrics類別應用。
example0305.java
import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
public class example0305 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE); //全螢幕設定
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
TextView TextView1 = (TextView)findViewById(R.id.TextView01);
TextView1.setText("手機銀幕大小為 "+metrics.widthPixels+" X "+metrics.heightPixels);
}
}
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:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/TextView01"
android:textSize="20sp"
/>
</LinearLayout>