我正在使用默认的弹出菜单,并期望相同的行为.一切都很好.我关注的是弹出菜单的渲染.我的弹出菜单显示在屏幕右侧.
我主要无法为弹出菜单提供正确的保证金.请帮忙.我试过为PopUp菜单提供Gravity.但弹出菜单粘在屏幕右侧.
PopupMenu popupMenu = new PopupMenu(mContext, anchor, Gravity.LEFT);
popupMenu.getMenuInflater().inflate(R.menu.menu_edit_accessory, popupMenu.getMenu());
Run Code Online (Sandbox Code Playgroud) 我只想在Gmail应用中实现与弹出菜单相同的功能,并固定在右上角的溢出按钮上.为此,我使用与Android Android弹出菜单的谷歌教程相同的代码,但对于我显示弹出菜单在动作栏的边缘不在那之下.如果你在gmail溢出的pop菜单上注意到你看到popmenu发生在actionbar的边缘.
这是我用于弹出菜单的xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/item1"
android:title="lablab"/>
<item
android:id="@+id/item2"
android:title="lablab"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
以下是我的活动:
public void showFontSetting(View view) {
PopupMenu popup = new PopupMenu(this, view);
MenuInflater inflater = popup.getMenuInflater();
inflater.inflate(R.menu.menu, popup.getMenu());
popup.show();
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.item1:
Toast.makeText(Index.this,
"You Clicked : " + item.getTitle(),
Toast.LENGTH_SHORT).show();
break;
case R.id.item2:
break;
}
return true;
}
});
}
Run Code Online (Sandbox Code Playgroud)