Articles of android actionbar

如何正确处理动作模式“完成”按钮?

可能重复: 如何调用ActionBar的类似ContextMenu的行为? 如何识别是否在ActionMode中单击了“完成”按钮 如何正确处理动作模式“完成”按钮? 我在动作模式下对一个对象执行一些操作,我想通过点击这个按钮来保存结果 – 比如“保存并退出”。 如何在此按钮上发送按键? 我看到的唯一方法是使用标志覆盖onDestroyActionMode(ActionMode模式)方法,在dispatchKeyEvent(KeyEvent事件)中触发以处理它是否由“后退”按钮按下引起。 logcat的: “完成”按下了 10-03 14:31:58.211: D/DESTROY(967): onDestroyActionMode “后退”紧迫 10-03 14:32:01.771: D/DISPATCH(967): Action: 0/n Keykode: 4 10-03 14:32:01.911: D/DISPATCH(967): Action: 1/n Keykode: 4 10-03 14:32:01.911: D/DESTROY(967): onDestroyActionMode 但这看起来并不是一种好的做法。 有什么“好”的解决方案吗? UPD:我知道如何在ActionMode.Callback中调用动作模式和处理动作项事件,但是如何按“完成”按钮来修改它的行为? “后退”按钮和“完成”按钮都会导致ActionMode.Callback的onDestroyActionMode()调用。

如何强制操作栏溢出图标显示

我想强制溢出图标始终显示在操作栏中(假设有溢出项)。 在带有菜单按钮的型号上,有时不会出现溢出图标,用户必须点击设备菜单按钮才能获得其余的操作菜单项。 用户继续抱怨这一点。 请注意,对于上下文菜单,无论设备是否具有内置菜单按钮,都会始终显示溢出图标。 我意识到强制溢出图标出现在操作栏中会复制“物理”图标的function。 您可能会认为违反了Androids设计指南。 但在我看来,用户赢了。 他们说这令人困惑,我相信他们是对的。

如何以编程方式控制ActionBar拆分?

如果活动的参数“ uiOptions ”设置为“ splitActionBarWhenNarrow ”,则android ActionBar可能会分为顶部和底部栏,请注意此参数仅在ICS中有效。 Honeycomb使用操作栏为多选列表项引入了一种新方法。 当项目处于按住状态时,列表变为多选模式,操作栏可用于完成某些操作。 操作栏设置inheritance自列表活动,即,如果活动具有拆分操作栏,则多选也将具有,并且如果活动仅具有顶栏,则多选将符合该选项。 问题是,是否可以在活动中只有一个顶部操作栏,当列表变为多选模式时,以编程方式拆分操作栏? 谢谢!

启用/禁用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 […]

上下文动作栏样式

我在上下文操作栏(CAB)上寻找样式信息。 我只需要改变文本的颜色。 从上面可以看出,这是使用标准的Theme.Holo.Light.DarkActionBar主题,所以我只需要将文本颜色设置为白色! 谁能指出我正确的方向?

更改ActionBar选项卡以编程方式为颜色加下划线

我创建了动作栏 ActionBar actionbar = getActionBar() 操作栏的背景更改为 actionbar.setBackgroundDrawable(actionBarBackgroundImage); 现在我需要以编程方式更改操作栏选项卡下划线颜色。 是否有任何方法可以更改操作栏标签下划线颜色?

在Android JellyBean上更改Actionbar高度

我最近一直在开发一个Android应用程序,我需要为标签栏设置自定义布局和尺寸。 我到目前为止的方式是使用Jake Wharton的ActionBarSherlock库来支持pre-HoneyComb Android版本,并通过将样式应用于我编辑actionBarSize样式项的应用程序。 现在,我一直在测试Galaxy S3上的应用程序(上面有Jellybean),并且根据actionBarSize值,标签栏高度不再变化。 所以我开始查看JellyBean的代码,我在ActionBarPolicy类中find了这个方法: public int getTabContainerHeight() { TypedArray a = mContext.obtainStyledAttributes(null, R.styleable.ActionBar, com.android.internal.R.attr.actionBarStyle, 0); int height = a.getLayoutDimension(R.styleable.ActionBar_height, 0); Resources r = mContext.getResources(); if (!hasEmbeddedTabs()) { // Stacked tabs; limit the height height = Math.min(height, r.getDimensionPixelSize(R.dimen.action_bar_stacked_max_height)); } a.recycle(); return height; } 从我在这个方法中收集的内容来看,似乎JellyBean限制TabBar的高度,当应用程序处于纵向模式时,通过将标签栏高度设置为“action_bar_stacked_max_height”维度值(48dp,在4.1的/values/dimen.xml文件),即使我在/values/dimen.xml设置了操作栏高度。 我已经尝试覆盖这个维度值,通过在我自己的dimen.xml文件dimen.xml其设置为我自己的值,但我没有运气。 它没用。 我的问题: 你们知道我可以覆盖“action_bar_stacked_max_height”维度值的方法吗? 先谢谢你!

在XML中为ActionBar(不同于Logo)定义自定义徽标?

我想为我的应用制作一个Actionbar_style.xml,我想使用一个与我的应用徽标/图标不同的徽标。 如何以程序方式更改它很明显:以编程方式更改Android ActionBar中出现的徽标但是像这样我需要将其编码到每个活动中。 是否有一个xml标签来定义xml中的自定义Actionbarlogo? 我的Customstyles.xml @drawable/action_bg0 android styles.xml好像没有它…… @android:drawable/action_bar_background useLogo|showHome|showTitle @android:drawable/action_bar_divider ?android:attr/actionBarSize 0dip 0dip 0dip 0dip @android:style/TextAppearance.Widget.ActionBar.Title @android:style/TextAppearance.Widget.ActionBar.Subtitle @android:style/Widget.ProgressBar.Horizontal @android:style/Widget.ProgressBar.Small @android:layout/action_bar_home

更改导航抽屉的图标

我将导航抽屉图标更改为自定义图标时遇到问题。 我目前不得不实现标准的抽屉图标,顶部有3条水平线,但现在我想用我的自定义抽屉图标替换它。 这就是我的mDrawerToggle目前的情况: mDrawerToggle=new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.app_icon, R.string.drawer_open) { // My code };

Android:如何在片段更改时重新创建操作栏

我有一个显示一些片段的活动。 活动视图仅包含使用自定义FragmentPagerAdapter初始化的ViewPager。 此适配器提供3个片段之间的导航。 一切似乎都很好,除了动作栏。 我覆盖片段中的onCreateOptionsMenu()方法,为任何片段创建单独的Action栏: @覆盖 public void onCreateOptionsMenu(菜单菜单,MenuInflater inflater) { super.onCreateOptionsMenu(menu,inflater); menu.clear(); //fragment specific menu creation } 当我滑动时,会出现新片段,但操作栏会保持相同状态几秒钟。 可能在几秒钟后调用此方法并更改操作栏。 滑动完成后,稍后更改操作栏时,这看起来非常糟糕。 如何在滑动开始之前立即重新创建操作栏?