Я действительно не знаю, что вы хотите сделать, но если вам нужны только два разных файла макета для телефона и планшета, вы можете сделать это: Когда вы работаете с фрагментами, у вас обычно есть два разных макета. Один из них содержит Framelayout, который предназначен для мобильных устройств, и один, который содержит два Framelayouts для планшетов devies.
Хорошим способом определить, является ли устройство телефоном или планшетом, является создание файла refs.xml
в папке значений. Просто поставьте элемент с именем в нем и макетом, к которому вы хотите обратиться. Этот файл предназначен для мобильного устройства:
<resources>
<item name="activity_masterdetail" type="layout">@layout/activity_fragment</item>
</resources>
Чем вы reate других значений папки с именем значения-sw600dp. В этой папке вы создаете еще один файл refs.xml
. Его ВАЖНО дать одно и то же имя для обоих файлов refs. Затем вы ссылаетесь на планшет вашего планшета.
<resources>
<item name="activity_masterdetail" type="layout">@layout/activity_twopane</item>
</resources>
Теперь вы можете получить установить вид контента с именем элемента и андроид будет просто выбрать правильный, если у вас есть планшет или телефон.
В вашем методе OnCreate() в вашей деятельности:
setContentView(R.layout.activity_masterdetail);
Теперь вы должны проверить, если ваш Framecontainer мнение о планшетном равно нулю:
if (findViewById(R.id.yourFragmentDetailContainerForTablets) == null) {
doYourCode();
} else {
doYourCode();