Articles of android actionbar

将工具栏设置为片段中的操作栏

我想设置我的工具栏作为一个操作栏,但由于您的工具栏是一个layoutelement它必须在您的布局。 现在我的布局是在我的片段。 我在我的布局中添加了工具栏,并在我的片段中调用它: //Toolbar Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar); 它的工作原理是因为我可以设置标题等,但现在我想它作为一个操作栏作出反应,因为我想实际上有这个。 setDisplayHomeAsUpEnabled(真) 要做到这一点,我必须将工具栏更改为一个操作栏: setSupportActionBar(toolbar); 这在我的片段中不起作用 任何人都可以帮助我让我的工具栏作为一个片段中的操作栏。

点击应用图标不会触发onOptionsItemSelected()

我目前正在开发一个Android应用程序。 我想使用操作栏中的应用图标导航到“主页”活动。 我在这个页面上阅读,所有需要做的是添加一个onOptionsItemSelected并寻找id android.R.id.home 。 这是我在我的活动中实现的代码,我要按应用程序图标返回到HomeActivity 。 @Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) { case android.R.id.home: Intent intent = new Intent(this, HomeActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); return true; default: return super.onOptionsItemSelected(item); } } 但是,没有任何反应。 在debugging的时候,我可以看到点击图标根本不会触发onOptionsItemSelected() 。 我需要在某个地方做些什么吗? 到目前为止,这都是默认的,就在AndroidManifest.xml <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" >

ActionBar行动项目不显示

我有一个非常简单的代码,但一个问题,即使长期谷歌search后,我无法解决。 我想在我的ActionBar中有一些动作项目,但是每当我运行应用程序时,我所看到的都是带有应用程序标识和标题的ActionBar, 但没有动作项目 。 如果你能帮助我,那可能是很好的,可能我只是想念最明显的东西;) 那就是我的ActionBarActivity中的方法: @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu items for use in the action bar MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main_activity_actions, menu); return super.onCreateOptionsMenu(menu); } 这是ActionBar的相关.xml文件(名为main_activity_actions.xml): <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/action_search" android:icon="@drawable/ic_action_search" android:title="@string/action_search" android:showAsAction="always" /> <item android:id="@+id/action_compose" android:icon="@drawable/ic_action_compose" android:title="@string/action_compose" android:showAsAction="always"/> </menu>

处理ActionBar标题与片段回栈?

我有一个Activity ,我在一个ListFragment加载,点击后,它向下钻取一个级别,并显示一个新types的ListFragment ,replace原来的(使用下面的showFragment方法)。 这是放在后面的堆栈。 在开始时,活动在操作栏中显示默认标题(即,它基于应用程序的android:label自动设置)。 当显示层次结构中下一级的列表时,所点击的项目的名称应该成为操作栏的标题。 但是,按Back时 ,我想要恢复原来的默认标题。 这不是FragmentTransaction知道的事情,所以标题不会被恢复。 我隐约看了FragmentBreadCrumbs ,但这似乎需要使用自定义视图。 我使用ActionBarSherlock,并希望没有我自己的自定义标题视图。 这样做的最好方法是什么? 是否有可能没有一个样板代码的负载,并不得不跟踪在途中显示的标题? protected void showFragment(Fragment f) { FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.fragment_container, f); ft.addToBackStack(null); ft.commit(); }

将菜单项放置在Honeycomb中的ActionBar的左侧

我想在Honycomb的ActionBar的左边放置一些菜单项,但没有find文档说明如何做到这一点。 它看起来应该是可能的,因为联系人应用程序search到导航栏的左侧。 任何想法如何将菜单项设置在左侧?

Actionbar Logo的大小?

在Google I / O 2012 Android应用程序中,使用了一个操作栏标志,而不是普通的应用程序图标。 在开源项目中,我可以find340x72的图片,只在这个维度上显示。 我search是否有一些指定的大小在操作栏中使用徽标,但我没有find任何东西。 你知道这件事吗?

如何在设备上使用Android> 4.0和硬件button在动作溢出菜单中设置文本样式?

我想为我的溢出菜单自定义背景和文字颜色。 它适用于没有硬件菜单button的设备,但我无法使用硬件菜单button对设备进行样式设置。 看截图: 我正在使用这些样式: <style name="Theme.settleup" parent="@style/Theme.Sherlock.Light.DarkActionBar"> <item name="android:popupMenuStyle">@style/settleup_PopupMenu</item> <item name="android:actionMenuTextColor">@android:color/white</item> </style> <style name="settleup_PopupMenu" parent="@style/Widget.Sherlock.ListPopupWindow"> <item name="android:popupBackground">@drawable/menu_dropdown_panel_settleup</item> </style>

更改ActionBar隐藏animation?

默认情况下,在Android 3.0以上的版本中,当调用ActionBar.hide()/ show()时,会使用简短的淡入/淡出animation来animation。 这个列表中似乎没有与animation资源关联的XML样式属性。 有什么方法可以改变这个animation? 在我的情况下,我只是想改变animation的时间,但也有可能有一个滑动animation?

从片段设置自定义ActionBar标题

在我的主要FragmentActivity ,我设置我的自定义ActionBar标题是这样的: LayoutInflater inflator = (LayoutInflater) this .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View v = inflator.inflate(R.layout.custom_titlebar, null); TextView tv = (TextView) v.findViewById(R.id.title); Typeface tf = Typeface.createFromAsset(this.getAssets(), "fonts/capsuula.ttf"); tv.setTypeface(tf); tv.setText(this.getTitle()); actionBar.setCustomView(v); 这工作完美。 但是,一旦我打开其他Fragments ,我希望标题改变。 我不知道如何访问主要Activity来做到这一点? 在过去,我这样做了: ((MainFragmentActivity) getActivity()).getSupportActionBar().setTitle( catTitle); 有人可以build议正确的方法吗? XML: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/transparent" > <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginLeft="5dp" android:ellipsize="end" android:maxLines="1" android:text="" android:textColor="#fff" […]

更改操作栏searchview提示文字颜色

如何更改操作栏search视图提示文本颜色? 这个问题解释了如何在使用ABS时获取EditText: Android ActionBar自定义search视图 有没有一个android.R.id我可以用来获得对EditText的引用,所以我可以改变提示颜色? 还是有其他方法来改变颜色?