标签: android-menu

Android创建底栏菜单

我希望在底部可见的每个页面中的应用程序中都存在静态底部菜单栏.我设计了菜单栏,但我很困惑是否必须将菜单代码与每个布局xmls集成以使菜单在每个页面中可见,并在每个活动类中编写代码以执行菜单点击功能.或者,如果有任何其他方式,我可以创建一个公共底栏,位于每个页面,并在单个活动类中编写菜单代码.

android menubar android-menu

2
推荐指数
1
解决办法
2万
查看次数

使用Android操作栏分享意图

我正在使用操作栏上的菜单项,我想通过单击共享图标来共享我的应用程序.当我单击共享图标时,它不起作用.另外,我想"install this app"在共享时添加文字说明.

这是我的代码:

private ShareActionProvider mShareActionProvider;

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.mainpage, menu);
    MenuItem item = menu.findItem(R.id.menu_item_share);
    mShareActionProvider = (ShareActionProvider) item.getActionProvider();

    return true;
}

private void setShareIntent(Intent shareIntent) {
    if (mShareActionProvider != null) {
        mShareActionProvider.setShareIntent(shareIntent);
    }
}
Run Code Online (Sandbox Code Playgroud)

Mainpage.xml菜单:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/menu_item_share"
    android:showAsAction="ifRoom"
    android:title="Share"
    android:icon="@drawable/ic_store"
    android:actionProviderClass="android.widget.ShareActionProvider" />
</menu>
Run Code Online (Sandbox Code Playgroud)

android android-menu android-optionsmenu

2
推荐指数
1
解决办法
1万
查看次数

android:showAsAction ="always"不适用于制表符片段

我正在使用支持库V7中的ActionBarActivity.但是,当我在菜单xml中指定android:showAsAction ="always"时,它不会生效.我必须在onCreateOptionsMenu()方法的Java代码中执行此操作,以查找项目并手动设置属性.我的代码有什么问题吗?为什么会这样?

这是我的活动代码,大部分来自文档示例:

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ActionBar actionBar = getSupportActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        actionBar.setDisplayShowTitleEnabled(false);

        Tab tab = actionBar
                .newTab()
                .setText("ArtistFragment")
                .setIcon(android.R.drawable.ic_input_add)
                .setTabListener(
                        new TabListener<ArtistFragment>(this, "ArtistFragment", ArtistFragment.class));
        actionBar.addTab(tab);

        tab = actionBar
                .newTab()
                .setText("AlbumFragment")
                .setIcon(android.R.drawable.btn_radio)
                .setTabListener(
                        new TabListener<AlbumFragment>(this, "AlbumFragment", AlbumFragment.class));
        actionBar.addTab(tab);
    }

    public static class TabListener<T extends Fragment> implements ActionBar.TabListener {
        private Fragment mFragment;
        private final Activity mActivity;
        private final String mTag;
        private final Class<T> mClass;

        /** Constructor used each time a …
Run Code Online (Sandbox Code Playgroud)

android android-menu android-actionbar android-actionbar-compat

2
推荐指数
1
解决办法
2051
查看次数

setShowsAsAction在API 11下无法运行

这是我用来删除的代码MenuItem:

af.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
Run Code Online (Sandbox Code Playgroud)

但是,setShowsAsAction需要最低的API 11才能在GingerBread上崩溃.我可以af.setVisible(false);用来让代码在GingerBread上运行.两者有什么不同?这是一回事吗?

android android-menu

2
推荐指数
1
解决办法
1102
查看次数

使用AppCompat和Material更改硬键菜单面板的样式

关于使用ActionBarSherlock或其他库更改硬键菜单的文本颜色或背景图像有很多问题.但我找不到任何与使用AppCompat的Material主题相关的答案.

那么如何更改硬键菜单面板的文本颜色和背景?

默认情况下,面板看起来像这样(Light.DarkActionBar主题).我真的不喜欢丑陋的灰色到灰色的对比,我想把文字颜色改成黑色.

默认菜单看

android android-appcompat android-menu android-theme material-design

2
推荐指数
1
解决办法
739
查看次数

ActionMode 菜单不隐藏菜单项

我在列表视图中使用动作模式进行多选。我遇到的问题是,在模拟器上测试时,我在操作模式菜单中指定为隐藏的图标永远不会隐藏在溢出菜单中,尽管在预览中是这样。我在这里使用 AppCompat 主题是我的 menu.xml --->

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/tag"
        android:enabled="true"
        android:title="Tag"
        android:icon="@drawable/in_ic_tag_white_24dp"
        android:orderInCategory="1"
        app:showAsAction="always" />

    <item
        android:id="@+id/delete"
        android:enabled="true"
        android:title="@string/label_delete"
        android:icon="@drawable/in_ic_delete_white_24dp"
        android:orderInCategory="2"
        app:showAsAction="never" />

</menu>
Run Code Online (Sandbox Code Playgroud)

android menuitem android-appcompat android-menu android-actionmode

2
推荐指数
1
解决办法
1060
查看次数

使用actionLayout触摸菜单项上的反馈

我正在使用带有actionLayout的菜单项,因为我需要在ActionBar上添加textView以及我的图标.一切都正确显示但我不知道(并且无法找到任何地方)如何添加当用户点击Lollipop设备上的菜单项时显示的动画.

我想在工具栏中的评论图标旁边显示一些评论.

这是我有的:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/menu_like"
        android:icon="@drawable/list_discuss_like"
        android:title="Like"
        app:showAsAction="always"/>
    <item
        android:id="@+id/menu_comment"
        app:actionLayout="@layout/menu_item_comment"
        android:title="Comment"
        android:icon="@drawable/ic_comment_white_24dp"
        app:showAsAction="always"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

以及我的menu_item_comment.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:clickable="true"
              android:hapticFeedbackEnabled="true"
              android:orientation="horizontal">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:src="@drawable/ic_comment_white_24dp"/>

    <TextView
        android:id="@+id/ab_comment_count"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="(12)"
        android:textColor="@color/grayTextHint"/>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

动画和反馈适用于类似项目,但不适用于注释项目.

任何帮助表示赞赏.

android android-menu android-5.0-lollipop android-toolbar

2
推荐指数
1
解决办法
1648
查看次数

如何隐藏Toast消息的显示,长按ToolBar项目(图标)android?

有没有办法在长按ToolBar项目后隐藏吐司?

长按的android ToolBar图标或图像按钮显示祝酒词.

android android-menu android-toolbar

2
推荐指数
1
解决办法
2236
查看次数

如何更改导航抽屉菜单项图标的大小?

如何更改<item>Navigation Drawer 元素内元素的大小?

无论图标似乎总是像这样自动调整为 24dp:

在此处输入图片说明

我需要将图标的大小增加到 34 dps,但<item>元素似乎没有任何属性来更改 XML 中的此设置:

在此处输入图片说明

谢谢。

android android-menu navigation-drawer

2
推荐指数
1
解决办法
7995
查看次数

带图标的弹出式菜单

我是android的新手.我无法在弹出菜单中添加简单的图标.我将图标添加到xml文件但我看不到它们.

这是我的菜单 - pop_up_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/action_email"
        android:icon="@mipmap/email"
        android:title="E-Mail"
        />
    <item
        android:id="@+id/action_messenger"
        android:icon="@mipmap/messenger"
        android:title="Messenger"
        />
    <item
        android:id="@+id/action_skype"
        android:icon="@mipmap/skype"
        android:title="Skype"
        />
    <item
        android:id="@+id/action_whatsapp"
        android:icon="@mipmap/whatsapp"
        android:title="Whatsapp"
        />
</menu>
Run Code Online (Sandbox Code Playgroud)

我有这个OnClickListener,在点击moreActionsButton后调用showPopUpMenu函数

moreActionsButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        showPopUpMenu(us);
    }
});
Run Code Online (Sandbox Code Playgroud)

这是创建菜单的showPopUpMenu

public void showPopUpMenu(final User user) {
    View menuItemView = getView().findViewById(R.id.groupLeave);
    PopupMenu popUpMenu = new PopupMenu(getActivity(), menuItemView);
    popUpMenu.getMenuInflater().inflate(R.menu.pop_up_menu, popUpMenu.getMenu());
    popUpMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        public boolean onMenuItemClick(MenuItem item) {
            switch (item.getItemId()) {
                case R.id.action_messenger:
                    onMessengerClick(user);
                    break;

                case R.id.action_skype:
                    onSkypeClick(user); …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-menu

2
推荐指数
1
解决办法
2862
查看次数