6
如何在彈出菜單中自定義菜單項?我需要第一個菜單項的開關。以下是我走到這一步:帶開關的Android自定義彈出菜單
menu.xml文件
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="android.oli.com.fitnessapp.activities.LiveSelectActivity">
<item
android:icon="@drawable/ic_access_alarm_white_24dp"
android:orderInCategory="100"
app:showAsAction="always"
android:visible="true"
android:title="@string/action_settings"
android:onClick="showPopup"/>
</menu>
menu_popup.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/one"
android:title="One"/>
<item
android:id="@+id/setTime"
android:title="Two"
android:onClick="showTimePickerDialog"/>
</menu>
活動片斷
public void showPopup(MenuItem menuItem){
View view = findViewById(R.id.action_alarm);
PopupMenu popup = new PopupMenu(this, view);
MenuInflater inflater = popup.getMenuInflater();
inflater.inflate(R.menu.menu_popup, popup.getMenu());
popup.show();
}
BitmapDrawable()已過時。該窗口不顯示。我如何定位它看起來像一個popupmenu? –
我編輯了我的答案。您應該調用popupWindow.showAsDropDown(v)使其可見。而這是真正的BitmapDrawable()棄用,但它是一個竅門,使其消除按鍵按下。更多詳細信息請參閱http://stackoverflow.com/a/3122696/5923606 – uguboz
並將其定位爲popupmenu將您的視圖「View view = findViewById(R.id.action_alarm)」輸入到popupWindow.showAsDropDown(view) – uguboz