6
Wie kann ich die Menüeinträge in einem Popup-Menü anpassen? Ich brauche einen Schalter für das erste Menüelement. Hier ist, was ich habe, so weit:Android Benutzerdefinierte Popup-Menü mit Schalter
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>
Aktivität Snippet
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() ist veraltet. Das Fenster wird nicht angezeigt. Wie kann ich es so positionieren, dass es wie ein Popupmenü aussieht? –
Ich habe meine Antwort bearbeitet. Sie sollten popupWindow.showAsDropDown (v) aufrufen, um es sichtbar zu machen. Und das ist True BitmapDrawable() veraltet, aber es ist ein Trick, um es auf Tastendruck disappear zu machen. Weitere Details finden Sie auf http://StackOverflow.com/A/3122696/5923606 – uguboz
Und um es wie ein Popupmenü zu positionieren, geben Sie Ihre Ansicht "View = findViewById (R.id.action_alarm)" in popupWindow.showAsDropDown (view) – uguboz