5

我已經爲我的操作欄實施了自定義視圖。除此之外,我還需要一個OptionMenu。 有什麼辦法仍然使用默認的OptionMenu?我不想自己設計整個菜單&其功能。使用自定義操作欄/工具欄視圖創建選項菜單

順便說一句,我的活動來延長android.support.v7.app.AppCompatActivity


代碼來實現自定義視圖我動作條

custom_action_bar.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
app:contentInsetEnd="0dp" 
app:contentInsetStart="0dp"> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <Button 
     android:id="@+id/custom_B" 
     android:layout_width="60dp" 
     android:layout_height="30dp" /> 
</LinearLayout> 
</android.support.v7.widget.Toolbar> 

我將它包含在我的主XML中:

<include 
layout="@layout/custom_action_bar" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" /> 

對於OptionsMenu我把一些木頭,從來沒有印刷

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    Log.i(Constants.APP_NAME, "hello1"); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    Log.i(Constants.APP_NAME, "hello2"); 
} 
+0

我不知道是否可以使用默認OptionMenu與自定義actionBar。但是你可以創建自定義OptionMenu勾選這個[link](http://rajeshandroiddeveloper.blogspot.in/2013/07/android-popupwindow-example-in-listview.html) –

+0

你有什麼問題?由於您正在擴展工具欄,因此您應該可以使用「菜單」。顯示你已經嘗試了什麼以及你有什麼問題。 – JDenais

+1

我要猜測並說你忘了在你的活動中調用setSupportActionBar()。如果你沒有調用它,那麼相關的菜單方法永遠不會被調用(因爲沒用)。但是,你真的應該發佈更多的活動代碼。 – JDenais

回答

3

不要忘記調用setSupportActionBar()在您的活動。

沒有這個調用,關聯的菜單方法從不會被調用,因爲Activity認爲沒有工具欄。