如何从其他类获取宽度屏幕

时间:2013-05-12 21:09:28

标签: android

新手问题的故事 我有2个.java 用于switchcase的main.java

public boolean onOptionsItemSelected(MenuItem item){
    switch (item.getItemId()) {
    case R.id.hint:

        coba = new GameBoard();
        coba.deklarasigambar();


        break;
........................

和其他.java将获得宽屏

public void deklarasigambar(){
    DisplayMetrics met = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(met);
    layar = met.heightPixels;
    Toast.makeText(getApplicationContext(), ""+layar, 3);

}

我得到了力量......但是当我把它放到

DisplayMetrics met = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(met);
layar = met.heightPixels;
Toast.makeText(getApplicationContext(), ""+layar, 3);

in

 case R.id.hint:

我得到了价值, 抱歉英语不好:(

1 个答案:

答案 0 :(得分:0)

我用这个

public static int getScreenWidth(Context ctx) {
        Configuration conf = ctx.getResources().getConfiguration();
        if (android.os.Build.VERSION.SDK_INT >= 13)
        {
            return conf.screenWidthDp;
        } else
        {
            Display display = ((WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();

            @SuppressWarnings("deprecation")
            return display.getWidth();
        }
    }

我使用MyClass.getScreenWidth(this)从任何活动中调用此活动,其中这是活动的上下文(来自片段调用getActivity()

希望这有帮助