2013-05-15 47 views
2

我有一個像下面的片段佈局。在雙窗格片段中處理菜單

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="horizontal" 
android:baselineAligned="false"> 

<fragment 
    android:id="@+id/callsListFragment" 
    android:layout_width="0dp" 
    android:layout_weight="1.5" 
    android:layout_height="match_parent" 
    class="com.example.MyCallsListFragment" /> 

<fragment 
    android:id="@+id/callDetailFragment" 
    android:layout_width="0dp" 
    android:layout_weight="2" 
    android:layout_height="match_parent" 
    class="com.example.MyCallsDetailsFragment" /> 

</LinearLayout> 

第一個片段顯示的所有通話,第二個它的詳細信息列表。他們每個人都有一個單獨的菜單選項。

說callsListFragment有兩個菜單項如

View outstanding calls 
Calls for today 

callDetailFragment具有三個菜單項如

Edit call 
Add new call 
Archive call 

我膨脹從相應的片段的那些菜單。

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    inflater.inflate(R.menu.menu_mycalls, menu); 
} 

但是,在雙窗格中,我看到所有五個菜單項相當衝突,因爲很難找到哪個菜單項。

這是顯示菜單項的方法嗎?你能指導我做正確的做法嗎?

該應用程序支持平板電腦和手機。

回答

0

創建選項菜單時選中是兩個窗格模式。

boolean mTwoPane = // isTwoPane ? 

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    if (mTwoPane) return; // if (!mTwoPane) return; 
    inflater.inflate(R.menu.menu_mycalls, menu); 
} 

或者,爲兩個窗格模式創建新菜單。 (使資源文件夾像「菜單土地」)

+0

我需要兩個菜單選項。現在的問題是,因爲我將兩個菜單都充氣到了操作欄,它會一起出現。但我需要一些其他的方式來讓每個片段有兩個動作條(不確定是否可能)。因此,用戶知道操作欄中包含哪些菜單選項。希望你明白! – Renjith

+0

對不起,但兩個操作欄是不可能的,一個活動有一個操作欄。 – ChangUZ

+0

我想你需要更多的菜單資源,並在運行時選擇一個。 – ChangUZ