Как установить раскладку на 7"двух разных планшетах?

У меня два планшета 7 дюймов один планшет (800*480) и второй планшет (1024*600). У меня возникла следующая проблема:-

1. Оба могут работать на layout-mdpi и layout-large, так как я могу создать разные папки для запуска моего приложения и разрешения.

Приложение запустить XML для макета MDPI на обоих планшетах:-

layout-mdpi
layout-hdpi

Приложение запускает xml для большого макета на обоих планшетах:-

layout-large
layout-xlarge

Я могу реализовать http://developer.android.com/guide/practices/screens_support.html это, но не использовать полностью для меня.

или же

попробуйте так много ссылок, но все еще та же проблема, оба планшета работают в одном макете.

3 ответа

Решение

Попробуйте использовать это. Это сработало для меня

layout-sw600dp

7-дюймовые планшеты - в Android 3.2 представлен новый способ задания ресурсов для более дискретных размеров экрана. Новая техника основана на объеме пространства, необходимого вашему макету (например, на 600dp ширины), вместо того, чтобы пытаться привести ваш макет в соответствие с обобщенным размер группы (например, большие или большие).

res/layout-sw600dp/
res/layout-sw600dp-land
res/layout-sw600dp-port
  • 320dp: типичный экран телефона (240x320 точек на дюйм, 320x480 точек на дюйм, 480x800 точек на дюйм и т. Д.).
  • 480 точек на дюйм: планшет-миниатюра типа Streak (480x800 точек на дюйм).
  • 600 точек на дюйм: 7-дюймовый планшет (600x1024 точек на дюйм).
  • 720 точек на дюйм: 10-дюймовый планшет (720x1280 точек на дюйм, 800x1280 точек на дюйм и т. Д.).

Интерфейс для различения размеров, таких как 7”и 10” планшетов

  1. res/layout/main_activity.xml # Для телефонов (доступная ширина меньше 600dp)
  2. res / layout-sw600dp / main_activity.xml # Для 7-дюймовых планшетов (шириной 600 дп и более)
  3. res / layout-sw720dp / main_activity.xml # Для 10-дюймовых планшетов (шириной 720 dp и больше)

xlarge - это спецификатор конфигурации для очень больших экранов. * Когда вы добавляете эту строку к имени каталога ресурсов (например, layout-xlarge), это указывает системе, что эти ресурсы должны использоваться на устройствах с очень большим экраном.

У меня два планшета 7 дюймов один планшет (800*480) и второй планшет (1024*600). У меня возникла следующая проблема:-

Я столкнулся с той же проблемой. В качестве обходного пути я сделал XML-файл для (800*480) в той же папке макета, что и по умолчанию.

Также я использовал layout-sw320dp для таких устройств, как GalaxyNexus и для 7-дюймового планшета. У меня есть layout-sw600dp для 7-дюймового планшета и для 10-дюймового планшета. У меня есть layout-sw700dp для 10-дюймового планшета.

Например: у вас есть XML-файл с именем "activity_main.xml"

1) внутри layout папка -> поставить файл activity_main.xml с макетом в соответствии с Nexus One(480*800 HDpi)

2) внутри layout-sw320dp папка -> поместите Activity_main_tab.xml с макетом в соответствии с Galaxy Nexus(720*1280 xhdpi) Устройство, которое должно взять макет из layout-600dp но возьму макет из layout-320dp

3) внутри layout-600dp папка -> поставить файл activity_main_tab.xml с макетом в соответствии с 7-дюймовым экраном планшета

4) внутри layout-700dp папка -> поместите файл activity_main_tab.xml с макетом в соответствии с 10-дюймовым экраном планшета

после создания макета формируется как указано выше. Я проверил ширину и высоту устройства. и установите файл макета соответственно.

if (displayWidth >= 552 && displayHeight >= 976 || displayWidth >= 976
                && displayHeight >= 552) { 
   Log.i(TAG, "in tab xml");            
   setContentView(R.layout.activity_main_tab); 
}else{ 
Log.i(TAG, "in Simple xml");
    setContentView(R.layout.activity_main); 
}

Надеюсь, это поможет.

Другие вопросы по тегам