Articles of menuitem

Android MenuItem自定义布局

当我点击操作栏中的操作按钮时,会出现一个PopupMenu 。 我希望我的PopupMenu中的MenuItem具有如下自定义布局: 布局/ menu_item_layout.xml 这是PopUpMenu的xml: 菜单/ pop_menu.xml 我的活动代码如下: 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(); } 但是当出现popupmenu时,item为空。 我使用setActionview()方法错了吗? 谢谢。

为菜单项设置布局时,不调用OnMenuItemSelected

我有一个从main_menu.xml膨胀的菜单: 这是活动中的代码: @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { MyMessageHandler.debug(“menu item selected”); switch(item.getItemId()){ case R.id.act_sync: sync(); return true; } return super.onOptionsItemSelected(item); } 但是当我触摸菜单项时,不会调用onOptionsItemSelected。 当我删除菜单项的actionLayout属性时,它工作正常。 我怎样才能解决这个问题? 谢谢。

如何更改Android菜单项的自定义字体?

我有以下Android Java和XML代码。 我想更改我的应用程序的菜单项的字体。 我只知道我们可以使用setTypeface更改TextView的字体,但无论如何都无法find菜单项。 JAVA代码 – : @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.action_refresh1: Toast.makeText(this, “Item1 Selected”, Toast.LENGTH_SHORT) .show(); break; case R.id.action_refresh2: Toast.makeText(this, “Item2 Selected”, Toast.LENGTH_SHORT) .show(); break; default: break; } } XML代码 – : 我想更改两个菜单项的字体,但不知道如何为菜单项集成settypface。

从代码中选中一个菜单项

我有一个Android应用程序,其中一个活动中包含以下菜单项(涉及处理名称和mac编号列表): 当应用程序状态发生变化时,我希望能够使用以下代码预先检查上次使用的排序选项列表中的哪个项目: ((MenuItem)findViewById(R.id.sort_by_name)).setChecked(true); 问题是这个特定的行给了我一个运行时exception。 有没有人知道为什么? 查看日志会发现运行时exception是由空指针exception触发的。 通过这种方式更改代码: MenuItem mi = (MenuItem)findViewById(R.id.sort_by_name); mi.setChecked(true); 很明显,exception发生在seconds语句中,即MenuItem mi为null。 那么为什么第一个语句无法将指针指向正确的MenuItem?

IllegalArgumentException无效的有效内容项types – 使用ActionBarCompat

Logcat: http ://crashes.to/s/72388b92dd7 我使用动作栏compat,因此我无法覆盖’onMenuItemSelected’,因为它是最终方法。 似乎只发生在某些人身上? 我已经在’onOptionsItemSelected’上返回true,但它没有帮助,在此期间提交了一份错误报告,希望有人会看到这个。 @Override public boolean onOptionsItemSelected(MenuItem item) { if (mDrawerToggle.onOptionsItemSelected(item)) { return true; } switch (item.getItemId()) { case R.id.menu_add_user: Intent intent = new Intent(this, Add_User.class); startActivity(intent); return true; case R.id.menu_about: buildAboutDialog(); return true; case R.id.menu_chat: return true; case R.id.menu_feedback: buildFeedbackDialog(“a”); return true; case R.id.menu_show_images: if(appPrefs.getBoolean(“showImages”, false) == true){ appPrefs.saveBoolean(“showImages”, false); MenuShowImages.setTitle(“Hide […]

菜单项的自定义视图

我需要动态菜单项,一个用户定义颜色的圆圈,如下所示: 触摸此菜单项将打开一个颜色选择器。 现在,我有一个示例ColorPickerIcon,它扩展了View public class ColorPickerIcon extends View { private Paint mPaint; private int mColor; private final int mRadius = 20; public ColorPickerIcon(Context context) { super(context); mColor = Color.BLACK; mPaint = createPaint(); } public ColorPickerIcon(Context context, AttributeSet attrs) { super(context, attrs); mColor = Color.BLACK; mPaint = createPaint(); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); […]

如何设置MenuItem的图标颜色?

我定义了一个具有ShareActionProvider的菜单项并共享白色图标,如下所示: 但是当我启动应用程序时,我会得到一个不同的黑色共享图标。 如何将共享图标设置为白色? 这是我的结果

如何在AppCompatActivity中显示带有图标和文本的菜单项

我在xml文件中尝试了不同的组合: 要么 要么 要么 我试图以编程方式设置它 @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater){ MenuItem item = menu.add(R.string.menu_create_alarm); item.setShowAsAction(MenuItem.SHOW_AS_ACTION_WITH_TEXT|MenuItem.SHOW_AS_ACTION_IF_ROOM); item.setIcon(R.drawable.ic_action_accept); item.setOnMenuItemClickListener( new OnMenuItemClickListener(){ @Override public boolean onMenuItemClick(MenuItem item){ saveAlarm(); return true; } } ); // inflater.inflate(R.menu.menu_create_alarm, menu); super.onCreateOptionsMenu(menu, inflater); } 要么 但是,仅显示图标。 并且有植物的房间,因为我没有设置工具栏标题。 删除菜单并使用工具栏内的按钮重新替换菜单是不可取的。 如何显示文字?

Android以编程方式更改导航抽屉菜单项文本

我的应用程序中有新的导航抽屉,我想从代码中动态更改导航视图菜单项标题文本。 我看过很多post,但我想不通,我怎么能这样做。 我怎样才能正确实现这一目标? MainActivity.java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, “Replace with your own action”, Snackbar.LENGTH_LONG) .setAction(“Action”, null).show(); } }); DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer, […]

如何在Android菜单xml中的多个菜单中包含一个常用菜单项?

许多菜单总是有一个项目相同。 有没有办法将该项目定义为额外菜单并将其包含在所有其他菜单中? 像这样的东西: 菜单/ main.xml中 菜单/ other.xml 我知道,有可能以programmaticaly方式进行,但我认为xml-way更好。