Articles of android actionbar

Honeycomb 3.2上的android searchview setOnActionExpandListener

我正在使用android-support-v4开发Android 3.2及更高版本的应用程序。 当扩展操作栏中的SearchView以及何时折叠时,我需要为“拦截”实现OnActionExpandListener 。 我的Android 4.0及更高版本的代码没问题,但对于3.2没有。 menu.xml文件 MyActivity.java @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.reader, menu); final MenuItem searchMI = menu.findItem(R.id.menu_search); if(searchView == null) { //searchView = (SearchView) searchMI.getActionView(); searchView = (SearchView) MenuItemCompat.getActionView(searchMI); searchView.setOnQueryTextListener(this); searchView.setOnSuggestionListener(this); searchView.setOnCloseListener(new OnCloseListener() { @Override public boolean onClose() { //some code return false; } }); } int currentapiVersion = android.os.Build.VERSION.SDK_INT; if […]

如何使Action Bar SearchView填充整个操作栏?

我试图在我的应用程序中创建一个操作栏搜索 ,但在展开状态下, SearchView没有采取整个操作栏宽度(它仍然显示其他操作)! 那么,如何使SearchView填充完整的ActionBar区域(如在GMAIL应用程序中)?

MenuItem的选中状态未通过其图标正确显示

我有这样定义的MenuItem: 和btn_star.xml定义: 但是,当我使用此选项创建选项菜单时,即使MenuItem的isChecked()属性为true,图标也不会以其选中状态显示。 我正在使用ActionBarSherlock控件,但是,如果我只是创建一个普通的选项菜单并调用setChecked(true) ,我会得到相同的结果。 无论项目的检查状态如何,它仍然显示btn_star_off drawable。 正确调用onOptionsItemSelected()方法,我可以成功更改checked属性: @Override public boolean onOptionsItemSelected(MenuItem item) { if(item.isCheckable()) { item.setChecked(!item.isChecked()); } return super.onOptionsItemSelected(item); } 在此处设置断点显示isChecked属性正在更改,但图标本身未更新以反映正确的状态。 这里有什么我想念的吗? 我做错了吗? 我无法弄清楚为什么这不能正常工作。

SearchView扩展后隐藏的操作栏图标

我希望SearchView旁边的图标(“云”)保持可见,即使SearchView扩展。 这适用于平板电脑,但在Nexus 5等小型设备的情况下不起作用。 我为此菜单项设置了showAsAction=”always” 。 此外,SearchView具有以下属性: showAsAction=”ifRoom” 。

Android活动标题与ActionBar标题

活动标题和行动栏标题之间​​有什么区别。 两者似乎占据相同的区域 但是活动标题是使用 getActivity().setTitle(“abc”) 和行动栏标题 getActivity().getActionBar().setTitle(“abc”)

app:showAsAction vs android:showAsAction

我正在构建一个Android应用程序,并希望在actionBar上始终显示一个按钮。 我遵循了这个指南和其他人,但他们似乎都没有解决我的问题(虽然他们非常接近我猜…)。 我有包“app”并使用app:showAsAction=”always” 。 没有显示错误,但栏上也没有按钮。 当我将其更改为android:showAsAction=”always”按钮出现在栏上,但AndroidStudio告诉我应该选择“app:showAsAction with appCompat …”。 我有一个自定义主题,其中parent=”@android:style/Theme.Holo.Light.DarkActionBar”>和bar本身: parent=”@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse”> 。 我应该改变一些东西并获得app:showAsAction工作,或者忽略AndroidStudio错误消息并转到android:showAsAction ?

ActionBarSherlock setCustomView无法在Android 3.2中运行

我最近升级了我的应用程序以使用ActionBarSherlock 4.1。 由于在动作栏上设置自定义视图时,在Honeycomb上运行应用程序的升级用户会因为空指针exception而关闭力。 我将一个包含两个微调器的自定义视图添加到操作栏,这适用于Android 4.0和4.1,但不适用于3.2。 bar.setCustomView(R.layout.custom_action_bar);// spinners actionBarViewHolder= new CustomActionBarViewHolder(); actionBarViewHolder.categorySpinner = (Spinner) findViewById(R.id.actionbar_catergory); actionBarViewHolder.sortBySpinner = (Spinner) findViewById(R.id.actionbar_sortby); 在Android 3.2上,在4.0和4.1中找不到微调器,它们的视图被find并且任何东西都能顺利运行。 我没有在3.0模拟器上尝试过该应用程序,但我认为该问题仍然存在。 任何想法可能是什么问题?

ActionBar pre Honeycomb

我正在为android(2.1> 3.1)编写一个应用程序,我想使用熟悉的做法,使用Honeycomb应用程序中的应用程序图标进行家庭活动,但是,当我在早期的非Honeycomb设备上运行活动时Activity.getActionBar(); 方法尚不存在,app force关闭,如果设备运行蜂窝,我怎么才能运行这个指定的代码? @Override protected void onStart() { super.onStart(); ActionBar actionBar = this.getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); } 感谢您的帮助,祝您度过愉快的一天。

将一个项目对齐ActionBar左侧

我想将一个项目对齐ActionBar的左侧,将其他项目对齐到右侧,如下所示: 我的菜单xml中有5个项目。 main.xml中 我们该怎么做? 抱歉我的英语非常差劲。

使用adjustPan作为软输入模式时是否可以始终显示操作栏?

在我的应用程序中,我有一个带有页脚的ListView ,其中包含一个带有EditText的自定义视图。 在顶部坐着一个动作栏。 当前活动使用SOFT_INPUT_ADJUST_RESIZE ( adjustResize )作为软输入模式,并且在滚动时不关闭键盘。 为了显示更多列表,我想在滚动时删除键盘并获得更平滑的滚动行为,我想更改以便使用SOFT_INPUT_ADJUST_PAN ( adjustPan )。 但是,如果我更改为adjustPan ,则整个视图(包括操作栏)会被推高。 我希望列表视图被推送,但操作栏始终保持在顶部。 这可能吗? 如果没有,是否可以使用adjustResize并获得平滑的resizeanimation? 到目前为止,我尝试过: 请求Window.FEATURE_ACTION_BAR_OVERLAY ,但这并没有帮助,尽管文档听起来很有希望。 根据软键盘是否可见来移动操作栏容器,最终看起来像一个大规模不稳定的黑客,所以我报废了它。 到目前为止,我已经排除了adjustResize ,因为滚动时会出现绘图行为,同时最小化键盘并调整列表视图的大小。 有没有办法使平滑的animationresize?