【问题标题】:Android: Design Patterns for Action Bar/Options Menus on Multi-Pane LayoutsAndroid:多窗格布局上的操作栏/选项菜单的设计模式
【发布时间】:2012-06-05 15:14:12
【问题描述】:

来自Android Best Practices API Guide: Supporting Tablets and Handsets

在某些情况下,您可能有一个 APK 可以同时支持手机和 药片。假设在电话上你有一个显示列表的ListFragment Activity A 中的联系人,然后是 Details 片段,在 当用户选择一个联系人时,一个新的Activity,Activity B。

现在在平板电脑上,我们可以通过以下方式利用额外的空间 将两个 Fragments 组合成一个多窗格 Activity, 活动 A。

再次考虑手机上的应用程序。在活动 A 中,选项菜单可能会提供“全选”或“同步联系人”操作。长按列表中的项目可能会提供“编辑”或“删除”等选项。在 Activity B 中,选项菜单也可以提供“编辑”、“删除”或“收藏”等操作。

但是,我们如何在平板电脑上整合这些选项?我们是否只是将所有选项菜单项合并到一个巨大的菜单中(1)?还是我们只是放弃 Activity B 菜单,让用户依赖长按左侧的项目(2)?另一种选择是修改详细信息片段以将一些操作添加到详细信息片段本身 (3)。

根据 Android Design 网站,Contacts 应用似乎使用了 1 和 3 的组合。看看http://developer.android.com/design/patterns/multi-pane-layouts.html

那么有没有推荐的方法,还是由开发人员决定?

【问题讨论】:

    标签: android android-activity menu android-fragments tablet


    【解决方案1】:

    它们都可以进入选项菜单(或者,更好的是,操作栏),假设在 Fragment A 的列表中始终至少选择一个项目。如果存在 Fragment A 的列表为空或没有选择,那么故事会变得有点复杂,因为 B 的操作栏项目都假定存在选择。理想情况下,您不会在选择之前将 Fragment B 加载到 Activity 中,在这种情况下,Fragment B 的操作栏项在它们有效之前不会出现。

    话虽如此,片段 B 的布局略有不同(您的选项 #3)也是合理的。我怀疑“最喜欢”的明星切换是否值得,但话说回来,他们没有问我...... :-)

    我绝对不同意的是您的选项#2。您使用多少选项 #1 或 #3(或混合)真的取决于您。

    【讨论】:

    • 我就是这么想的。现在在我的GridView 中,我只需要将项目显示为已选中。
    • @OlegVaskevich:是的,我没有尝试使用带有GridView 的激活样式,只有ListView,所以我不确定那里的机制。对不起!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多