标签: android-menu

如何在Android上完全禁用菜单按钮?

出于某种原因,如果我在我的应用程序加载内容时长按我的菜单按钮,它就像我按下后退键一样停止.

我不希望菜单按钮表现得像这样,所以我的问题是:

如何完全禁用菜单按钮?我不需要在我的应用程序中,我只想关闭它.

我试过了:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event){

     if (keyCode == KeyEvent.KEYCODE_BACK){
        onBackPressed();
     }


    if (keyCode == KeyEvent.KEYCODE_MENU){
        return true;
    } 
    else{
        return super.onKeyDown(keyCode, event); 
    }

}
Run Code Online (Sandbox Code Playgroud)

菜单按钮仍在工作......

任何帮助将不胜感激!谢谢.

android android-menu android-button

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

片段中的onCreateOptionsMenu()不替换ActionBar菜单

我在我的应用程序中使用NavigationDrawer并在单击抽屉中的项目时替换片段.我的问题是,当我更改片段时,ActionBar中的菜单项不会更新.

我已经按照本教程https://www.grokkingandroid.com/adding-action-items-from-within-fragments/密切关注,但它仍然无法在我的应用中运行.

在此处添加父活动和其中一个片段的一些代码片段.我需要的是当初始片段被ContactFormFragment.java替换时,显示联系表单片段(R.menu.contactform_send_menu)的其他菜单项.

public class MainActivity extends FragmentActivity implements ActionBar.OnNavigationListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setTitle(R.string.app_name);

        // Set up the action bar to show a dropdown list.
        ActionBar actionBar = getActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
        actionBar.setDisplayShowTitleEnabled(true);
        actionBar.setDisplayHomeAsUpEnabled(true);
        actionBar.setHomeButtonEnabled(true);

        createNavigationDrawer(savedInstanceState);
    }

    private final int DRAWER_MAIN = 0;
    private final int DRAWER_CONTACT = 5;

    // update the main content by replacing fragments
    private void selectItem(int position) {
        Fragment fragment = null;
        Bundle args = new Bundle();
        boolean isFragment = …
Run Code Online (Sandbox Code Playgroud)

android android-menu android-fragments android-actionbar navigation-drawer

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

如何更改操作栏中下拉菜单的背景颜色

我正在开发一个 Android 应用程序,在设计操作栏时遇到一些问题。我使用的是带有白色图标的深色操作栏。当我单击溢出图标时,会弹出一个下拉菜单。一切都很好,但我需要带有红色文本的下拉菜单的浅色背景。我尝试过编辑主题,styles.xml但当我使用浅色主题时,我只能更改下拉菜单的背景颜色。

Theme.Base.AppCompat.Light.DarkActionBar当我将 更改为时,我可以获得浅色下拉菜单,Theme.Base.AppCompat.Light但其他图标(例如“搜索”)变得非常浅并且几乎不可见(参见第二张图片)。如何将下拉菜单上的文本颜色从黑色更改为红色并使“搜索”图标可见。

在此输入图像描述 在此输入图像描述

这是更深入了解的代码

样式.xml

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.Base.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="android:popupMenuStyle">@style/MyPopUpMenu</item>
</style>

<!-- ActionBar styles -->
<style name="MyActionBar"
    parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
    <item name="android:background">@color/gloryred</item>
</style>

<style name="MyPopUpMenu"
    parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
    <item name="android:popupMenuStyle">@color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)

菜单操作.xml

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

<item android:id="@+id/action_search"
    android:title="@string/action_search"
    android:icon="@drawable/ic_action_search"
    com.example.unitedstates.app:showAsAction="ifRoom"
    com.example.unitedstates.app:actionViewClass="android.widget.SearchView"/>

<item android:id="@+id/action_overflow"
    android:title="@string/action_overflow"
    android:icon="@drawable/ic_action_overflow"
    com.example.unitedstates.app:showAsAction="ifRoom">
    <menu>
        <item
            android:id="@+id/action_help"
            android:title="@string/action_help"
            android:icon="@drawable/ic_action_help"
            android:showAsAction="never"/>
        <item
            android:id="@+id/action_about"
            android:title="@string/action_about"
            android:icon="@drawable/ic_action_about"
            android:showAsAction="never"/>
        <item
            android:id="@+id/action_feedback" …
Run Code Online (Sandbox Code Playgroud)

android background-color android-menu android-actionbar drop-down-menu

3
推荐指数
1
解决办法
9640
查看次数

FragmentActivity操作栏选项菜单

我正在尝试将ActionBar按钮添加到FragmentActivity中,我无法弄清楚我做错了什么.在运行应用程序时,我看到的是ActionBar上的默认菜单按钮而不是我的按钮.

FragmentActivity:

   @Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.animalsmenu,menu);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

xml文件:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
    android:id="@+id/dogs"
    android:title="Dogs"
    android:orderInCategory="1"
    app:showAsAction="always">
</item>
Run Code Online (Sandbox Code Playgroud)

android fragment android-menu android-fragments android-fragmentactivity

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

如何在Android汉堡菜单图标上实现徽章计数器

我正在尝试在汉堡菜单图标上实现计数器徽章(即不是其他菜单图标).与eBay应用程序类似.如...

易趣应用徽章计数器

有没有人看过这个?试图找出最干净的方法.

android android-layout android-menu android-drawable navigation-drawer

3
推荐指数
1
解决办法
4722
查看次数

如何隐藏或添加Flavor的菜单项?

我有一个有3种不同口味的应用程序full,part1part2.

所有不同的口味都有不同的包名,所以我可以将它们作为不同的应用程序发送.

现在我希望只part1获得一个名为的菜单项Reload.其他两种口味不应该有这个菜单项.这可能吗?

我尝试了以下菜单资源:

app
|
+-src
  |
  +-full
  |
  +-main
  | |
  | +-res
  |   |
  |   +-menu
  |     |
  |     +-main_activity.xml
  |
  +-part1
  | |
  | +-res
  |   |
  |   +-menu
  |     |
  |     +-main_activity.xml
  |
  +-part2
Run Code Online (Sandbox Code Playgroud)

其中main_activity.xmlpart1是:

<?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/action_reload"
        android:icon="@drawable/ic_reload"
        android:title="@string/action_reload"
        app:showAsAction="always"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

main_activity.xml对于main是:

<?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">
</menu>
Run Code Online (Sandbox Code Playgroud)

但是,如果我在任何其他构建版本中构建应用程序part1 …

android android-menu android-build-flavors android-flavors

3
推荐指数
3
解决办法
1298
查看次数

Not highlighting selected child item from navigationview

I have a NavigationView & rendering Menu inside it. My Menu has 3 groups & each contains few sub-menu items. My problem is, when I select any sub-menu item & goes to specific fragment. However, when I reopen NavigationView/drawer to select another item, it doesn't show last selected item Highlighted.

Currently, it just changes color of selected sub-menu item but I want it highlighted like below snapshot.

在此处输入图片说明

Base Activity XML

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 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"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" …
Run Code Online (Sandbox Code Playgroud)

android android-menu android-fragments navigation-drawer android-navigationview

3
推荐指数
1
解决办法
2757
查看次数

更改菜单操作布局值?

navigationView.getHeaderView(0);我有一个导航抽屉,我可以通过访问和来更改字体、颜色等。

Menu m = navigationView.getMenu();
MenuItem mi = m.getItem(index);
Run Code Online (Sandbox Code Playgroud)

然后我就可以玩抽屉里的东西了。

但就我而言,我有一个文本视图,它是另一种布局:

<item
        android:id="@+id/nav_wallet"
        android:icon="@drawable/ic_balnce"
        android:title="@string/my_wallet"
        app:actionLayout="@layout/wallet_value"/>
Run Code Online (Sandbox Code Playgroud)

在我的 wallet_value 中,layout我有一个 textView,我需要更改其值,如下图所示:

在此输入图像描述

我怎样才能得到这个布局并改变它?

android android-layout android-menu android-drawer android-navigationview

3
推荐指数
1
解决办法
1919
查看次数

当应用程序来自后台时更改菜单图标(在 onResume() 方法中)

我尝试了onCreateOptionsMenu(Menu menu)onPrepareOptionsMenu(Menu menu)方法,但是当应用程序在后台打开时,我无法更改图标可见性。因为我认为我需要在onResume()内调用这些方法

当应用程序第一次启动时它会按预期工作。

 @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it present.
        getMenuInflater().inflate(R.menu.example_menu, menu);

        // show manu items if not ofline mode
        if (Utils.checkNetworkStatus(ExampleActivity.this)) {
            menu.findItem(R.id.edit).setVisible(true);
            menu.findItem(R.id.delete).setVisible(true);
        }else {
            menu.findItem(R.id.edit).setVisible(false);
            menu.findItem(R.id.delete).setVisible(false);
        }
        return true;
    }



@Override
public boolean onPrepareOptionsMenu(Menu menu){

    if (Utils.checkNetworkStatus(ExampleActivity.this)) {
        menu.findItem(R.id.edit).setVisible(true);
        menu.findItem(R.id.delete).setVisible(true);
    }else {
        menu.findItem(R.id.edit).setVisible(false);
        menu.findItem(R.id.delete).setVisible(false);
    }
    return true;
} 
Run Code Online (Sandbox Code Playgroud)

java xml android android-menu

3
推荐指数
1
解决办法
774
查看次数

菜单项图标在 RTL 布局中未正确显示

在 RTL 中,选项菜单项图标显示不正确!!但在 LTR 中,一切都显示得很好很漂亮。

在这个命令的帮助下,我制作了 RTL 程序

getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
Run Code Online (Sandbox Code Playgroud)

我的菜单 layout.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"
    android:gravity="start"
    android:layoutDirection="rtl"
    android:layout_gravity="start">
    <item
        android:id="@+id/action_more"
        android:icon="@drawable/ic_add_white_24dp"
        android:title=""
        app:showAsAction="always">
        <menu>
            <item
                android:id="@+id/action_settings"
                android:icon="@drawable/ic_wb_sunny_black_24dp"
                android:title="???? ????? 1"/>

            <item
                android:id="@+id/action_settings2"
                android:icon="@drawable/ic_star_black_24dp"
                android:title="???? ????? 2"/>

            <item
                android:id="@+id/action_settings3"
                android:icon="@drawable/ic_wb_sunny_black_24dp"
                android:title="???? ????? 3"/>
        </menu>
    </item>
</menu>
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题。

在此处输入图片说明 截屏

android optionmenu android-layout right-to-left android-menu

3
推荐指数
2
解决办法
1036
查看次数