2012-06-05 61 views
3

Android Best Practices API Guide: Supporting Tablets and Handsets设计模式:安卓行动酒吧/选项菜单上多窗格布局

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

现在在平板电脑上,我们可以通过 利用额外的房地产两个Fragment小号组合成一个单一的,多窗格Activity, 活动A.

Fragment Design on Tablets/Phones

考虑再次在电话上申请。在活动A中,选项菜单可能会提供“全选”或“同步联系人”操作。长按列表中的项目可能会提供诸如“编辑”或“删除”之类的选项。在活动B中,选项菜单也可以提供“编辑”,“删除”或“收藏”等操作。

但是,我们如何整合平板电脑上的这些选项?我们是否将所有选项菜单项合并为一个巨大的菜单(1)?或者我们只是放弃活动B菜单,并让用户依靠长时间敲击左侧(2)的项目?另一种选择是修改细节片段以将某些操作添加到细节片段本身(3)。

按照Android设计的网站,联系人应用程序似乎使用的1和3的组合看一看http://developer.android.com/design/patterns/multi-pane-layouts.html

那么,有没有推荐的方法,或者是它的开发者?

回答

3

假设在片段A中的列表中总会有至少一个选定的项目,那么他们都可以进入选项菜单(或者更好的是操作栏)。如果存在片段A的列表为空的场景或者没有选择,那么故事会变得更加复杂一些,因为B的动作栏项目都假定选择的存在。理想情况下,除非有选择,否则不会将Fragment B加载到活动中,在这种情况下,片段B的操作栏项目才会显示,直到它们有效。也就是说,对于片段B(您的选项#3),布局略有不同也是合理的。我很怀疑这是否值得为“最喜欢的”明星切换,但是,然后再次,他们没有问我...... :-)

我绝对不同意的是你的选择#2。您使用选项#1或#3(或混合)的程度取决于您。

+0

这就是我的想法。现在在我的'GridView'中,我只需要让项目看起来被选中。 –

+0

@OlegVaskevich:是的,我没有尝试过使用'GridView'激活样式,只有'ListView',所以我不确定那里的机制。抱歉! – CommonsWare