Ho un PopupMenu visualizzato quando faccio clic su un pulsante di azione in una barra di azione. Vorrei che il MenuItem, nel mio PopupMenu, con un layout personalizzato come questo:Menu Android Oggetto Layout personalizzato
layout/menu_item_layout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/menuItemLayout"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imageViewMenuItem"
android:layout_width="20dip"
android:layout_height="20dip"
android:src="@drawable/abc_list_focused_holo" />
<TextView
android:id="@+id/textViewMenuItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextViewMenuItem" />
</LinearLayout>
Questo è il xml di PopUpMenu:
menù/pop_menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="apparound.actiobarpopupstylefacebook.Main" >
<item
android:id="@+id/popupItem"
android:showAsAction="ifRoom"/>
</menu>
Nel mio codice di attività è la seguente:
public void showPopup(int idR){
View menuItemView = findViewById(idR);
PopupMenu popup = new PopupMenu(this, menuItemView);
MenuInflater inflate = popup.getMenuInflater();
inflate.inflate(R.menu.pop_menu, popup.getMenu());
MenuItem menuItem= popup.getMenu().findItem(R.id.popupItem);
menuItem.setActionView(R.layout.menu_item_layout);
popup.show();
}
Ma quando compare popup, l'elemento è vuoto. Ho sbagliato a usare il metodo setActionview()? Grazie.
tra 20+ domande e risposte, la tua risposta è la migliore. devi dare +500 o +1000 upvote. –
C'è un bordo scuro sulla finestra popup –
Risolto con 'popupWindow.setBackgroundDrawable (null);' –