2

WindowMangerを参照しようとしているので、デフォルトの画面のサイズを取得できますが、参照が見つからないようです。(これはAPI 8、フローズンヨーグルト2.2です)。私も試しました:

dynamic wm = Android.App.Application.Context.GetSystemService(Android.Content.Context.WindowService);
Display display = wm.getDefaultDisplay();

Objectしかし、に応答しないことを示すエラーが発生しましたgetDefaultDisplay

また、私は試しました:

var wm = (IWindowManager)Android.App.Application.Context.GetSystemService(Android.Content.Context.WindowService);
Display display = wm.DefaultDisplay;

しかし、無効なキャスト例外が発生します。

この投稿を見ましたが、解決できませんWindowManager。ここで何が起こっているのかアイデアはありますか?

4

3 に答える 3

4

WindowManagerIWindowManagerインターフェイスです。キャストの代わりに、.JavaCast <T>()拡張メソッドを使用してみてください。

var wm = context.GetSystemService(Android.Content.Context.WindowService)
    .JavaCast<IWindowManager>();
var d  = wm.DefaultDisplay;

AccelerometerPlayサンプルをチェックすることもできます。

于 2012-11-29T21:58:01.263 に答える
1

もう1つの簡単な方法は

表示表示=this.WindowManager.DefaultDisplay;

表示オブジェクトからWidthプロパティとHeightプロパティを取得できます。

于 2013-06-06T11:06:32.910 に答える
0
using Android.Runtime; //for JavaCast

var windowManager = Android.App.Application.Context.GetSystemService(Android.Content.Context.WindowService).JavaCast<IWindowManager>();
于 2017-04-15T20:12:42.107 に答える