Мое приложение для Android в настоящее время использует TabActivity с четырьмя вкладками. Я также использую сторонний навигационный ящик, который обеспечивает более простой способ навигации по этим четырем вкладкам. Я знаю, зачем навигационный ящик, когда у нас есть вкладки, верно? Это то, что хотела моя организация. В настоящее время приложение также не поддерживает планшеты.
Пришло время переделать наше приложение с нуля. На этот раз нам нужно добавить поддержку планшетов. Я смотрел на новый навигационный ящик, предоставленный Google и фрагментами. Поскольку TabActivity устарела, мы больше не хотим ее использовать, и Google предлагает вместо этого использовать фрагмент. Инструмент, который предоставляет Google, такой как навигационный ящик и фрагменты, является действительно мощным инструментом, но мне трудно структурировать свое приложение.
Приложение имеет четыре основные вкладки. Все эти вкладки должны иметь панель навигации. Однако это должен быть общий навигационный ящик, элементы, отображаемые в этой навигации, не только содержат ссылку для перехода к этим четырем дисплеям, но также добавляют другие функции.
Как видно из прикрепленного изображения, 3 из четырех вкладок начинаются непосредственно с ListActivity. Они должны быть 3 разными действиями, потому что все они содержат разную информацию, и пользователь должен иметь возможность переходить от одного действия к другому.
Когда пользователь щелкает элемент в списке, он переходит к подробному представлению (Подробная активность). Это подробное действие также должно иметь тот же ящик навигации, что и родительское действие (ListActivity). Кроме того, это представление добавит еще 4 новых действия в панель навигации. Этот вид также должен иметь ящик, открывающийся справа налево.
Если пользователь находится в подробном представлении (Подробная активность) путем навигации по всем четырем вкладкам, пользователь должен иметь возможность видеть разные данные в зависимости от того, какой элемент он щелкнул в listActivity.
Я думал, что сделаю это, используя абстрактный базовый класс действий, который содержит ящик навигации, и все действия будут использовать их. Я также собирался использовать шаблон потока master/detail, чтобы он работал как с телефоном, так и с планшетом. Однако этот план был сбит после того, как я узнал, что не могу расширить базовую активность, чтобы использовать навигационный ящик.
В этот момент я теряюсь, что делать. Любое предложение будет принята с благодарностью.