6
Làm cách nào tôi có thể tùy chỉnh menuItem trong menu bật lên? Tôi cần một công tắc cho menuitem đầu tiên. Dưới đây là những gì tôi có cho đến nay:Trình đơn Popup tùy chỉnh của Android với công tắc
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>
Hoạt động đoạn mã
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() bị phản đối. Cửa sổ không hiển thị. làm thế nào tôi có thể vị trí nó mà nó trông giống như một popupmenu? –
Tôi đã chỉnh sửa câu trả lời của mình. Bạn nên gọi popupWindow.showAsDropDown (v) để làm cho nó hiển thị. Và đó là sự thật BitmapDrawable() không được chấp nhận nhưng nó là một mẹo để làm cho nó biến mất khi nhấn phím. Chi tiết hơn tham khảo http://stackoverflow.com/a/3122696/5923606 – uguboz
Và để định vị nó như popupmenu, hãy nhập vào chế độ xem của bạn "View view = findViewById (R.id.action_alarm)" vào popupWindow.showAsDropDown (xem) – uguboz