2013-06-28 2 views
2

Я хочу, чтобы получить точки на дюйм экрана устройства, но , когда я использую:DisplayMetrics возвращается ноль

  DisplayMetrics m = getResources().getDisplayMetrics(); 
       float den = m.density; 

Я получаю полный DisplayMetrics объект как ноль (я видел его в отладке). Это было то же самое и в моем эмуляторе (Android 2.3) и на моем телефоне (Htc Legend android 2.1 update 1). Код находится в моей деятельности класса (extends Activity), а затем

WebView.setWebChromeClient(new MyWebChromeClient() {

 public void onProgressChanged(WebView view, int progress) { 

       DisplayMetrics m = getResources().getDisplayMetrics(); 
       float den = m.density; 

}

Как я могу это исправить?

Спасибо,

Боаз

+0

В каком этого класса? Является ли это подклассом Деятельности? –

ответ

4

Взятые из here:

DisplayMetrics metrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(metrics); 
switch(metrics.densityDpi){ 
    case DisplayMetrics.DENSITY_LOW: 
       break; 
    case DisplayMetrics.DENSITY_MEDIUM: 
       break; 
    case DisplayMetrics.DENSITY_HIGH: 
       break; 
} 

Попробуйте его и получить обратно здесь с результатами :)

Приветствиях

+0

спасибо, это работает! –

+0

Я рад, что помог :-) – g00dy

+0

Зачем вам это нужно? – CorayThan