2012-06-05 106 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