2015-04-29 4 views
-1

У меня есть следующий код get localDisplayMetrics.получить свойство @hide через отражение

DisplayMetrics localDisplayMetrics = new DisplayMetrics(); 
((WindowManager) getSystemService("window")).getDefaultDisplay() 
       .getMetrics(localDisplayMetrics); 

Я хочу, чтобы получить localDisplayMetrics.noncompatWidthPixels .Can я получить его с помощью отражения?

ответ

1

Попробуйте это:

DisplayMetrics localDisplayMetrics = new DisplayMetrics(); 
((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay().getMetrics(localDisplayMetrics); 

try { 
    Field field = DisplayMetrics.class.getDeclaredField("noncompatWidthPixels"); 
    field.setAccessible(true); 
    int value = field.getInt(localDisplayMetrics); 
} catch (NoSuchFieldException e) { 
    e.printStackTrace(); 
} catch (IllegalAccessException e) { 
    e.printStackTrace(); 
} 
+0

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

+0

Вы радушны. Я вижу, что вы новичок в StackOverflow. Если вы чувствуете, что ответ решил проблему, отметьте ее как «принятую», нажав зеленую галочку. –

Смежные вопросы