2012-06-18 2 views
0

이미지가 많은 안드로이드 앱을 개발 중입니다. 한국 앱입니다. 가능한 최대 해상도를 지원하고 싶습니다. 그래서 Google은 명시된 바와 같이 드로어 블용 4 개의 다른 폴더 (ldpi, mdpi, hdpi, xhdpi)를 만들었습니다. 지금 내 문제는 모든 대부분의 모든 장치에서 내 응용 프로그램 작업이 완벽하지만 한국에서 장치 문제를 많이주고있다 Pantech Vega LTE M 있다는 것입니다여러 해상도에서 android app 용 드로어 블을 어떻게 설정 하시겠습니까?

그것의 해상도가 xhdpi 카테고리입니다하지만 여전히이 장치에 내 애플 MDPI에서 이미지를 보여줍니다 그것보다 더 큰 해상도를 보여줍니다. 따라서 이미지의 절반은 압축 된 디스플레이입니다.

그래서이 장치의 드로어 블을 설정하는 방법을 알지 못합니다. 이 해상도와 일치하도록 별도의 드로어 블 폴더를 추가해야합니까?

mdpi 폴더의 이미지를 변경하면 다른 해상도에서 문제가 발생합니다.

추가해야하는 폴더 옆에 가능한 모든 해상도와 호환되는 내 앱이 있습니다.

답변

1

해당 기기가 Adroid 3.0 afaik로 시작하여 X-Large 구성이 아직 이 아닌이 지원되지 않았기 때문에 Android 2.3 진저 브레드가 실행 되었기 때문에 문제가 발생합니다.

편집 : xhdpi는 API 레벨 9부터 지원 같은 은보고, 장치의 구성 사양은 정상처럼 보이는 - xhdpi와 대형 스크린. 그래서 내가 생각할 수있는 유일한 해결 방법은 드로어 블 내에 해당 폴더를 만드는 것입니다.

+0

없이 그것을 실행중인 4.x 및 내가 추가 할 필요 폴더에 대한 정확한 정보를 얻기 위해이 코드? – Mayur

+0

잘 사양의 장치에 2.3x 실행되고있는 것처럼 보입니다. ICS로 업그레이드했지만 지금까지이 장치의 사용자 지정 ROM에 버그가있는 것 같아서 아래에 설명 된대로 장치 밀도를 확인하는 것이 좋습니다. – Raykud

0

안녕 당신은 당신의 장치가있는 카테고리 대형, 초대형 따라 폴더를 만들 떨어질 확인 당김-큰 MDPI

  1. 같은 당김 폴더를 만들 수 있습니다.
  2. 화면 해상도를 게시하여 문제를 조사하십시오.
  3. 확인 장치

    DisplayMetrics metrics = new DisplayMetrics(); 
    getWindowManager().getDefaultDisplay().getMetrics(metrics); 
    
    switch(metrics.densityDpi) 
    {  
    
        case DisplayMetrics.DENSITY_LOW:     
        Toast.makeText(this,"low density " + String.valueOf(metrics.densityDpi),Toast.LENGTH_SHORT).show(); 
        break;  
        case DisplayMetrics.DENSITY_MEDIUM:     
        Toast.makeText(this,"medium density " + String.valueOf(metrics.densityDpi),Toast.LENGTH_SHORT).show(); 
        break;  
        case DisplayMetrics.DENSITY_HIGH: 
        Toast.makeText(this,"high density " + String.valueOf(metrics.densityDpi),Toast.LENGTH_SHORT).show();   
        break; 
    } 
    
    
    if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) 
    {    Toast.makeText(this, "Large screen",Toast.LENGTH_SHORT).show();  }  
    else if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_NORMAL) 
    {    Toast.makeText(this, "Normal sized screen" , Toast.LENGTH_SHORT).show();  }  
    else if ((getResources().getConfiguration().screenLayout &  Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_SMALL) 
    {    Toast.makeText(this, "Small sized screen" , Toast.LENGTH_SHORT).show();  }  
    else {   Toast.makeText(this, "Screen size is neither large, normal or small" , Toast.LENGTH_LONG).show();  } 
    
+0

감사합니다 vinnet 나는 그것을 시도하고 장치 장치 conf를 확인하십시오. – Mayur

관련 문제