화면의 크기를 알고싶어요

발생하는 문제

n은 화면 상단 픽셀이고 m은 오른쪽의 픽셀인데 제가 아래 코드처럼 오른쪽 상단의 픽셀을 구하려고하는데요. screenWidth랑 screenHeight를 구하는 방법이 있을까해서 질문드립니다.

소스코드

    int px = screenWidth - m;
    int py = screenHeight - n;

1답변

  • 좋아요

    1

    싫어요
    채택취소하기

    화면 크기를 알고 싶을땐 getSize를 쓰시면 돼요.

        Display display = getWindowManager().getDefaultDisplay();
        Point size = new Point();
        display.getSize(size);
        int width = size.x;
        int height = size.y;
    

    액티비티가 아니면

        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        Display display = wm.getDefaultDisplay();
    

    이렇게 쓰시면 되구요. 다른 방법으로는 DispalyMetrics라는게 있는데 이건 크기나 밀도 글씨 크기에 관련된 클래스인데

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

    이런 식으로 쓰고 화면의 width를 알고싶으면

        Log.d("ApplicationTagName", "Display width in px is " + metrics.widthPixels);
    

    이렇게 쓰시면 되요.

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.