Articles of android menu

启用/禁用ActionBar菜单项

我有actionbar menuitems取消并保存。 menu.xml文件 我想在活动开始时禁用save menuitem。 我的活动代码 – @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.add_project); EditText projectName = (EditText) findViewById(R.id.editTextProjectName); projectName.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { configureSaveButton(s); } @Override public void beforeTextChanged(CharSequence s, int start, int count,int after) {} @Override public […]

如何在导航抽屉布局中添加标题?

[UPDATE] 我通过添加addHeaderView解决了这个问题: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTitle = mDrawerTitle = getTitle(); mPlanetTitles = getResources().getStringArray(R.array.planets_array); mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerList = (ListView) findViewById(R.id.left_drawer); LayoutInflater inflater = getLayoutInflater(); ViewGroup mTop = (ViewGroup)inflater.inflate(R.layout.header_listview_menu, mDrawerList, false); mDrawerList.addHeaderView(mTop, null, false); ================================ 我的问题很简单! 我想如何在导航抽屉中添加标题? 我已经为每个项目创建了带有listview(图标+文本)的导航抽屉。 非常感谢,

如何制作whatsapptypes的animation以从工具栏打开菜单(动作栏)

描述: 我最近更新了whatsapp并注意到工具栏上单击了菜单项的animation。 如何达到这个效果? 是否有任何开源项目来实现这一目标? 我没有发布任何代码,因为。 我不知道他们是怎么做的。 快照-1:单击菜单中的附件按钮之前 快照-2:单击菜单中的附件按钮 如何实现这一目标?

ActionBar容量/溢出没有改变方向的变化

我有一个应用程序使用ActionBar,我自己处理方向的变化: android:configChanges="keyboard|keyboardHidden|orientation|screenSize" …和菜单应适合在ActionBar没有横向溢出,但不是肖像: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:title="@string/Game" android:id="@+id/game" android:icon="@android:drawable/ic_menu_manage" android:showAsAction="ifRoom|withText"/> <item android:title="@string/Type" android:id="@+id/type" android:icon="@android:drawable/ic_menu_edit" android:showAsAction="ifRoom|withText"/> <item android:title="@string/Other" android:id="@+id/other" android:icon="@android:drawable/ic_menu_gallery" android:showAsAction="ifRoom|withText"/> <item android:title="@string/Solve" android:id="@+id/solve" android:icon="@android:drawable/ic_menu_directions" android:showAsAction="ifRoom|withText"/> <item android:title="@string/Help" android:id="@+id/help" android:icon="@android:drawable/ic_menu_help" android:showAsAction="ifRoom"/> </menu> 在启动时,这可以正常工作: 景观: 肖像: (是的,我可以强制所有项目始终显示,他们将适合,如下所示,但可能会在一个较小的平板电脑上打破) 当模拟器改变方向时,ActionBar的容量似乎没有改变: 肖像,当我开始在风景: (这是好的,但不一致) 风景,当我开始肖像: 这看起来非常愚蠢,是我想解决这个问题的原因。 我把这个调用添加到invalidateOptionsMenu() ,但是没有帮助: @Override public void onConfigurationChanged(Configuration newConfig) { maybeMoveSomeViewsAround(newConfig); super.onConfigurationChanged(newConfig); invalidateOptionsMenu(); } […]

android片段子类中的getMenuInflater() – 无法parsing方法

我正在尝试在inheritanceFragment类的类中充气菜单。 这是我的OnCreateOptionsMenu()方法 – @Override public boolean OnCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.forecastfragment, menu) ; return true; } 这引发了以下错误: 无法parsing方法'getMenuInflater()' 我试过了 : MenuInflater inflater = getActivity().getMenuInflater(); 但是之后Android Studio突出显示了红色的@Override并指出: 方法不会覆盖超类的方法 我也尝试在同一个类中创build一个getMenuInflater方法,并让它返回new MenuInflater(this) public MenuInflater getMenuInflater() { return new MenuInflater(this); } 但是随后出现以下错误: 错误:不兼容的types:ForecastFragment不能转换为上下文 错误:方法不会覆盖或实现超types的方法 我该怎么办?

更改文字android中菜单项的大小

我在主要活动中使用以下代码在操作栏中使用简单的菜单项: package com.kaasib.ftpclient; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.app.ActionBar; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item){ boolean ret; if(item.getItemId() == R.id.connection_manager){ ret = true; }else{ ret = […]

基于自定义操作提供程序的垂直(旋转)文本项的Android ActionBar菜单

我正在添加一个菜单到一个操作栏项目。 菜单将包含每个项目的垂直文本。 菜单包含的内容并不重要。 我基本上只是想创build自己的视图,当我按下一个操作栏项目时会popup。 所以就这个问题而言,你可以把我的观点想象成一个大黑箱。 右边的图片是用GIMP制作的。 这是我正在做的,而不是我已经完成的。 我曾经尝试过 为了使用材质devise主题更新旧的应用程序,我一直在浏览Android文档中的所有课程,以添加应用程序栏 。 由于我的垂直文本菜单不适合常见的情况下,我必须做一个自定义的操作提供程序。 尽pipe如此,该文档没有提供自定义操作提供程序的完整示例。 我能find的最好的是这个堆栈溢出的答案 。 下图显示了我已经能够做的最好的事情(用一个黑色的视图代表我的未来菜单): 上图中的明星目前有行动提供者。 但是,自定义视图会在操作栏中被剪掉。 我如何让它漂浮在一切? 此外,我不希望它出现,直到我点击的行动栏项目。 目前,它只是马上显示。 码 MainActivity.java public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // setup toolbar Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); setSupportActionBar(myToolbar); … } public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = […]

用于android项目的tab + swipe应用程序中的不同选项卡的不同菜单

我是一个初学Android应用程序和Java,基本上我是一个PHP开发人员。 我有一个项目的标签+刷卡应用程序, Reseller.java package com.idevoc.onsitereseller; import java.util.ArrayList; import android.app.ActionBar; import android.app.ActionBar.Tab; import android.app.Activity; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.app.FragmentTransaction; import android.support.v4.view.ViewPager; import android.view.Menu; import android.view.MenuInflater; public class Reseller extends FragmentActivity { FragmentTransaction transaction; static ViewPager mViewPager; /** Called when the activity is first created. */ @Override public void onCreate(Bundle […]

选项菜单locking在星系s4上

我的应用程序使用旧式的选项菜单。 目前我们的目标是API 9.在Galaxy S4上我注意到了以下行为: 用户点击菜单button。 菜单按预期显示。 用户点击“更多”访问溢出部分。 溢出部分按预期方式显示。 用户点击后退button返回到原始选项菜单。 原始菜单按预期显示。 此时,点击选项菜单中的任何元素(包括“更多”)选项似乎没有效果。 但是系统实际上是caching这些水龙头。 如果用户点击五次菜单(没有可见的效果),则点击后退button以隐藏菜单,然后点击菜单button以再次显示菜单,所有caching的水龙头都立即发生。 onOptionsMenuItemSelected()每次用户点击该菜单项时调用一次。 这只发生在S4(可能还有其他三星设备)上。 值得注意的是,我没有看到这种行为使用Galaxy Nexus运行股票4.2.2。 这是三星的Android定制的错误,还是更有可能我在我的应用程序中做错了事情,股票的Android代码是更宽容?

onCreate之前调用ListPreviousOptionsMenu。 为什么和如何修复/绕过?

好的,所以我有ListList扩展ListList扩展ListFragment: public static class FavoritesList extends GalleryList { public static FavoritesList newInstance(int page) { FavoritesList list = new FavoritesList(); Bundle args = new Bundle(); args.putInt("page", page); list.setArguments(args); return list; } @Override public void onCreate(Bundle saveInstanceState) { super.onCreate(saveInstanceState); Cursor cursor = dbHelper.getGalleries(fav, preferences.getString("sort"+fav, "date desc")); listAdapter = new GalleryListAdapter(activity, cursor); setListAdapter(listAdapter); } … @Override public void […]