获取 Android 屏幕分辨率

3

我需要获取API 10+版本下Android屏幕分辨率的代码。

我正在使用Monogame Android。

using Android.App;
_ScreenWidth = Resources.DisplayMetrics.WidthPixels;

这段代码只能在Actvity1.cs中运行,而不能在Game1.cs中运行,为什么?我使用了Android.App;语句...

    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);
        ScreenWidth = Resources.DisplayMetrics.WidthPixels;
        Game1.Activity = this;
        var g = new Game1();
        SetContentView(g.Window);
        g.Run();
    }
1个回答

0

[编辑] 试着使用这个。

import android.util.DisplayMetrics;

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

int screen_width    = metrics.widthPixels;
int screen_height   = metrics.heightPixels;
float density       = metrics.density;

或者像这样

import android.util.DisplayMetrics;
public class Resolution()
{
int screen_width;
int screen_height;
float density;

public Resolution(Activity activity)
{
    DisplayMetrics metrics = new DisplayMetrics();
    activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);

    screen_width    = metrics.widthPixels;
    screen_height   = metrics.heightPixels;
    density         = metrics.density;
}
}

并且在你的活动类中

public class MainActivity extends Activity
{
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        Resolution res = new Resolution(this); //your activity in param
        int width = res.screen_width;
        int height = res.screen_height;

    }
}

我使用android.util.DisplayMetrics(如果这是你要找的)。 - Mohamed Amine
getWindowManager()是什么?它的命名空间是什么? - dimitris93
我不能在外部调用它吗? - dimitris93
看一下我的问题,我添加了一些代码,这就是我的oncreate的样子,我想知道Game1.cs而不是Activity1.cs上的屏幕分辨率。 - dimitris93
1
抱歉,我没有注意到你在使用C#和Monogame来开发应用程序,我以为是Java和Eclipse。很抱歉我没有答案,尽力帮助了。 - Mohamed Amine
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接