0

我正在研究片段和“多设备支持”。根据设备类型、方向和尺寸,可以使用片段定义多个布局并重用编写的代码。在开发应用程序的过程中,我写下了我想要的平板设备 UI,如下面的截图所示:

设计

该活动包含两个片段并显示 TAB 菜单导航。每个 TAB 菜单导航都包含不同的菜单条目(列表视图)。单击片段 1 上的菜单项时,我需要刷新片段编号 2。片段 2 由演示文稿和下面的列表视图或其他演示文稿组成。每个菜单项都可以有不同的布局:

  • 1-演示文稿,图像,另一个演示文稿
  • 2-无演示,列表视图
  • 3-演示文稿,列表视图
  • 4等

研究 google-sdk 提供的示例(示例),片段 2 始终具有相同的布局。如何根据单击的菜单项告诉片段 2 加载不同的布局?

我的回答是:我需要为每个不同的布局创建一个片段类。当用户点击片段 1 的某个项目时,片段管理器应该替换并提交正确的片段。这个答案正确吗?

所有片段逻辑都将在我的活动中,根据所选项目(位置和类别)替换正确的片段;简单的例子:

   @Override
        public void onItemSelected(int category, int position) {
            if (position==0){
            final FragmentTransaction ft = getFragmentManager().beginTransaction();
            ft.replace(R.id.content_frag, new FirstActionFragment(), "FirstMenuClicked");
            ft.commit();
        }
        else {
            final FragmentTransaction ft = getFragmentManager().beginTransaction();
            ft.replace(R.id.content_frag, new SecondActionFragment(), "secondMenuClicked");
            ft.commit();
        }
  }

我的布局想法可以改进吗?我应该改变我的设计以正确实现碎片吗?

4

1 回答 1

0

这是您的问题的解决方案

https://github.com/theomega/ActivatedStateDemo

于 2014-01-09T14:16:19.550 回答