Программно определить, является ли устройство телефоном или планшетом

У меня есть приложение с активностью, содержащей 2 макета:

  • Layout / activity_main.xml – «режим телефона», с одним видом внутри (список)
  • Layout-w900dp / activity_main.xml – «режим планшета» с 2 видами (список и данные)

Обычно я проверяю функциональность детали:

if (findViewById(R.id.application_detail_container) != null) { // The detail container view will be present only in the // large-screen layouts (res/values-w900dp). // If this view is present, then the // activity should be in two-pane mode. mTwoPane = true; } 

Как я могу преобразовать такой подход для использования привязки данных?

Вы можете просто определить ресурс в файле strings.xml

В значениях / strings.xml.

 <bool name="is_tablet">false</bool> 

В значениях-w900dp / string.xml

 <bool name="is_tablet">true</bool> 

Получите доступ к этому ресурсу из любого места в вашем коде. Это должно решить вашу проблему.

Например :

  boolean isTablet = getResources().getBoolean(R.bool.is_tablet);