标签: optionmenu

我们如何动态添加菜单项

嗨,我正在创建一个应用程序,它是一个标签应用程序.

在我的Home中扩展了sherlockFragmentActivity,我正在膨胀menu.xml并包含on optionMenuitem点击监听器的代码.Fragmentactivity包含tabhost,并在每个选项卡上加载片段.这是我的menu.xml

<item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="always"
       android:icon="@drawable/setting_selector"
        android:title=""
        >
        <menu >
            <item
                android:id="@+id/Profile"
                android:showAsAction="ifRoom"
                android:title="Profile"/>
            <item
                android:id="@+id/chngDoctor"
                android:showAsAction="ifRoom"
                android:title="Change doctor"
                android:visible="false"/>
            <item
                android:id="@+id/changePword"
                android:showAsAction="ifRoom"
                android:title="Change password"/>
            <item
                android:id="@+id/logout"
                android:showAsAction="ifRoom"
                android:title="Logout"/>
        </menu>
    </item>
Run Code Online (Sandbox Code Playgroud)

这是我在类Home中的onCreateOptionMenu和onOptionItemSelected方法

    @Override
public boolean onCreateOptionsMenu(Menu menu) {
    // TODO Auto-generated method stub
    getSupportMenuInflater().inflate(R.menu.main, menu);
    SubMenu subMenu = (SubMenu) menu.getItem(0).getSubMenu();
    if(userType.equals("admin"))
        subMenu.getItem(1).setVisible(true);
    else
        subMenu.getItem(1).setVisible(false);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

这是我的onOptionItemSelected方法

  @Override
    public boolean onOptionsItemSelected(MenuItem item) 
    {
        switch (item.getItemId()) {
        case R.id.Profile:
              break;
        case R.id.changePword :
            break;
        case R.id.chngDoctor :
                 break; …
Run Code Online (Sandbox Code Playgroud)

android menubar optionmenu actionbarsherlock

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

单击按钮时更改OptionMenu的选项

假设我有一个选项菜单network_select,其中包含要连接的网络列表.

import Tkinter as tk

choices = ('network one', 'network two', 'network three')
var = tk.StringVar(root)
network_select = tk.OptionMenu(root, var, *choices)
Run Code Online (Sandbox Code Playgroud)

现在,当用户按下刷新按钮时,我想更新用户可以连接到的网络列表.

  • 我不能使用,.config因为我看了看network_select.config()并没有看到一个看起来像我给它的选择的条目.
  • 我不认为这是可以使用tk变量改变的东西,因为没有这样的东西ListVar.

python tkinter onclick optionmenu python-2.7

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

Android中的选项菜单和面板菜单有什么区别?

我刚刚在Eclipse的自动完成时错误地创建了一个Panel菜单,并且在我读取代码之前没有意识到它.由于我想要一个选项菜单,我没有看到显示器的细微差别,所以有谁知道这两个菜单之间的差异是什么?使用其中一个是否有任何优点或缺点?我看到的唯一区别是(我没有详细说明):

public boolean onCreateOptionsMenu(Menu menu)
Run Code Online (Sandbox Code Playgroud)

要么

public boolean onCreatePanelMenu(int featureId, Menu menu)
Run Code Online (Sandbox Code Playgroud)

谢谢(这不应该是赏金吗?)

android optionmenu

9
推荐指数
1
解决办法
5020
查看次数

如何使OptionMenu保持相同的宽度?

我有一个片段,可以创建一个OptionMenu小部件.

...
options = ('White', 'Grey', 'Black', 'Red', 'Orange', 
           'Yellow', 'Green', 'Blue', 'Cyan', 'Purple')
var = StringVar()
optionmenu = OptionMenu(par, var, *options)
optionmenu.grid(column=column, row=row)
...
Run Code Online (Sandbox Code Playgroud)

我遇到的一个问题是每次选择一个新选项时,窗口小部件的宽度都会改变.我相信这是由于小部件中的文本更改宽度.如何使小部件保持一致的宽度?

python tkinter optionmenu

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

选项菜单动画

我如何给出这样的下滑动画:

<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate
        android:duration="1000"
        android:fromYDelta="0"
        android:toYDelta="100%" />
</set>
Run Code Online (Sandbox Code Playgroud)

对于"选项菜单"打开.像这个动画:

在此输入图像描述

animation android optionmenu

9
推荐指数
1
解决办法
1627
查看次数

无法在android Activity中解析方法setHasOptionsMenu

我尝试setHasOptionsMenu(true);在我的活动中使用但是我收到了错误."无法解析方法setHasOptionsMenu".

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

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

java android optionmenu android-activity

9
推荐指数
2
解决办法
8227
查看次数

在Android上实施多级选项菜单的最佳做法?

我目前正在将一个iPhone应用程序的端口用于Android.iPhone应用程序在屏幕底部有一个自定义的全局导航菜单,当把它带到Android时,建议用通用选项菜单(通过设备上的选项键调用)替换这个自定义菜单给它更原生的Android外观和感觉.

问题是菜单本身有几层(例如A,B,C三个主要选项,以及A1,A2,A3等子选项).我环顾四周,但没有在Android应用程序上看到这种多级选项菜单,所以我正在寻找一些关于如何最好地实现这一目标的指南.

我已经看到了一些关于自定义选项菜单的问题,比如这个; Android:自定义应用程序的菜单(例如背景颜色) ; 他们似乎暗示原生框架不支持很多选项.

我是否应该在选项菜单中查看一些黑客攻击(这是一个好主意吗?),或者查看其他一些修改应用程序流的方法?试图了解在Android上保持一致用户体验的最佳方式,同时降低iPhone应用程序的变化程度.

谢谢!

customization android user-experience optionmenu

8
推荐指数
1
解决办法
5249
查看次数

为什么ActionbarSharelock只显示溢出图标,即使有空间

即使标题中有空间,我仍然坚持使用ABS中的菜单项可见性.事情是我在不同尺寸的设备测试,但在每种情况下,我只能看到一个,那就是溢出菜单.

我正在使用onPrepareOptionsMenu动态管理我的菜单,这是完美的.(但不知道可能是这个问题发生再见onPrepareOptionsMenu或其他原因).

查看差异: 在此输入图像描述 在此输入图像描述

第一种方法我以编程方式创建菜单,并使用setShowAsAction()设置该可见性.在某个地方我也发现了setShowAsActionflag(),我也试过了.但在这种情况下,我无法看到溢出菜单small screen 320*480.所以,这是我在编程方法上的问题.

这是我的代码

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    // TODO Auto-generated method stu
    // TO Remove older menu otherwise that will apped menu each time.
    menu.clear();

    menu.add(Menu.NONE, MENU_SEARCH, Menu.NONE, "Search").setIcon(R.drawable.ic_search).setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

    menu.add(Menu.NONE, MENU_SETTING, Menu.NONE, "Settings").setIcon(R.drawable.ic_action_settings)
        .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

    if (is_session_exist == 1) {
        menu.add(Menu.NONE, MENU_CHANGE_LOGIN, Menu.NONE, "Change Login").setIcon(R.drawable.ic_action_add_person)
            .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

        menu.add(Menu.NONE, MENU_LOGOUT, Menu.NONE, "Logout").setIcon(R.drawable.abs__ic_clear)
            .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);


    } else { …
Run Code Online (Sandbox Code Playgroud)

android optionmenu actionbarsherlock

8
推荐指数
1
解决办法
266
查看次数

使用onView时使用Espresso单击操作栏中的菜单项(withId(...))

我正在使用Espresso进行测试,首先打开操作栏:

openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext());
Run Code Online (Sandbox Code Playgroud)

一切都还可以,但是我想点击一个选项菜单:

onView(withId(R.id.action_menu)).perform(click());
Run Code Online (Sandbox Code Playgroud)

菜单布局xml有一个id为"action_menu"的选项.

我收到一个错误:

android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: ***.********.******.android.debug:id/action_menu
If the target view is not part of the view hierarchy, you may need to use Espresso.onData to load it from one of the following AdapterViews:android.support.v7.widget.ListPopupWindow$DropDownListView{43fd3f58 VFED.VC. .F...... 24,24-612,168}
Run Code Online (Sandbox Code Playgroud)

我通过使用以下方式实现了这一步:

onView(withText(R.string.action_report)).perform(click());
Run Code Online (Sandbox Code Playgroud)

我想知道id有什么问题.

有任何想法吗?

android optionmenu action-menu android-espresso

8
推荐指数
1
解决办法
1518
查看次数

设置选项菜单android Talkback的内容描述

我正在为应用程序实现" Read Aloud"或" Talkback".一切都在使用contentDescription文本,但是通过选项菜单,我发现没有任何相关内容contentDescription,我希望系统读取"Menu "+ item's name.

EX:我的菜单有2个项目:" 创建新文件夹 "和" 删除当前文件夹 ",目前,当我关注菜单项(支持轨迹球和蓝牙键)时,系统可以准确地说出菜单的文本.但我希望它更像" 1:菜单创建新文件夹 "和" 2:菜单删除当前文件夹 ".

那么,我该如何更改阅读文本?menu item当蓝牙键盘UP/DOWN按键时,如何获得专注?

android menuitem optionmenu talkback

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