这个范例非常简短,只需几行代码即可取得手机屏幕的分辨率,基中的关键则是DisplayMetrics类的应用
Main.axml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:background="@drawable/white"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/myTextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/str_1"
android:layout_x="30px"
android:layout_y="50px" />
<TextView
android:id="@+id/myTextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/str_2"
android:layout_x="30px"
android:layout_y="70px" />
</LinearLayout>
MainActivity.cs
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
//
using Android.Util;
namespace Ex03_05
{
[Activity(Label = "Ex03_05", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
private TextView mTextView01;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
/* 必须引用 Android.Util */
DisplayMetrics dm = new DisplayMetrics();
WindowManager.DefaultDisplay.GetMetrics(dm);
string strOpt = "手机屏幕分辨率为:" + dm.WidthPixels.ToString() + " × " + dm.HeightPixels.ToString();
mTextView01 = (TextView)FindViewById(Resource.Id.myTextView01);
mTextView01.SetText(strOpt, TextView.BufferType.Normal);
}
}
}