3

I need the code to get android screen resolution in API 10+

I am using monogame android

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

This code only works in Actvity1.cs and not in Game1.cs , why is that ? I am using Android.App; statement...

    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();
    }
dimitris93
  • 4,155
  • 11
  • 50
  • 86

1 Answers1

0

[EDITED] try using this.

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;

OR like this

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;
}
}

and in your activity class

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;

    }
}