Please Enable JavaScript!
Gon[ Enable JavaScript ]

반응형

안드로이드(Android) android.util.DisplayMetrics 이용해 해상도를 측정하는 코드

 

개발환경 : window 7 64bit, Eclipse Kepler, Android 4.2.2

 

안드로이드에서 화면의 해상도를 구하는 방법입니다.

먼저 프로젝트를 하나 만들고 표현할 TextView

생성합니다.

 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${packageName}.${activityClass}" >

    <TextView
        android:id="@+id/txtMatric"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true" />

</RelativeLayout>

onCreate 함수내에 android.uti.DisplayMetrics

이용해 해상도 값을 알아보는 소스를 추가합니다.

DisplayMetrics 는 크기, 밀도, 글꼴 크기 등의

값을 구성하고 있습니다.

getMetrics() 의 파라미터로 DisplayMetrics 객체를

넘기면 그 값을 리턴해서 줍니다.

 

getWindowManager().getDefaultDisplay().getMetrics(dm);

 

그리고 DisplayMetrics widthPixels 가로, heightPixels 은 세로

해상도가 됩니다. 화면의 DP 를 구할려면 픽셀에

density 를 나눕니다.

 

public class SampleActivity1 extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_sample_activity1);
		
		DisplayMetrics dm = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm);
        // 해상도 구하는 방법 
        float widthDp = dm.widthPixels / dm.density;
        
        String str_ScreenSize = "The Android Screen is: "
                    + dm.widthPixels
                    + " x "
                    + dm.heightPixels + "\n"
                    + "Width DP : " + widthDp;
        
         
        TextView mScreenSize = (TextView) findViewById(R.id.txtMatric);
        mScreenSize.setText(str_ScreenSize);
	}
}

위 소스를 적용한 결과 화면입니다.

현재 에뮬레이터의 정보가 되겠네요

 

반응형
Posted by 녹두장군1
,