Articles of actionbarsherlock

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

可能重复: 如何调用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()调用。

在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”维度值的方法吗? 先谢谢你!

ActionBarSherlock – 将溢出的操作项显示为图标+文本

上下文 我正在使用ActionbarSherlock创建一个包含一些操作项的操作栏。 其中一些溢出,因此它们显示在溢出子菜单中。 我的问题 那些溢出的项目在子菜单中显示为仅仅是文本。 我试过了MenuItem.SHOW_AS_ACTION_IF_ROOM和MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT 用于setShowAsAction() MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT但两者具有相同的行为: 我想要的是 是否可以在溢出子菜单中将这些项目显示为 + ? 像这样的东西:

没有样式ViewPagerIndicator与SherlockActionBar结合使用

我正在尝试使用SherlockActionBar实现ViewPagerIndicator。 它的工作原理:我可以滑动碎片,但风格不起作用! 它看起来像这样: 相关主题: https : //github.com/JakeWharton/Android-ViewPagerIndicator/issues/66 我知道出了什么问题:在VPI的示例中,页面的样式在AndroidManifest.xml中设置(例如) 但是当我将android:theme元素添加到我自己的Manifest.xml中时,我得到以下exception: 03-16 11:06:24.400: E/AndroidRuntime(483): Caused by: java.lang.IllegalStateException: You must use Theme.Sherlock, Theme.Sherlock.Light, Theme.Sherlock.Light.DarkActionBar, or a derivative. 我还尝试将所有样式信息复制到styles.xml,但这也不起作用。 你能告诉我如何设置VPI的风格吗? 谢谢! 编辑:现在我已经添加了 到我的Manifest.xml 以及styles.xml中的以下样式 @style/Widget.Styled.ActionBar @style/Widget.Styled.ActionBar @style/Widget.TitlePageIndicator @style/Widget.TabPageIndicator @style/Widget.TabPageIndicator.Text 结果:我没有得到任何exception,看到样式,但我现在看不到任何碎片:( 活动代码可以在这里find: http : //pastebin.com/hsNgxFDZ当前页面的风格截图:

仅针对我的项目的Android Lint报告,不包括库项目?

如何运行Android Lint以便它只报告我的项目模块,并忽略我正在使用的任何库项目? 即使我将Lint瞄准我的项目模块,它也会在库项目中列出我不感兴趣的问题列表 – 我想集中精力修复我自己代码中的问题。 我看不到一个参数来指定它是否遵循对库项目的引用,但也许你可以看到如何做到这一点。

Android兼容性上下文操作栏

在尝试遵循Android设计指南时,我遇到了一个小小的困境。 我希望有一个项目列表,我可以长按几个(多选),然后对它们执行批量操作。 设计指南建议使用Contextual Action Bar,它听起来就像我想到的那样。 问题是,我正在努力保持与API 7的兼容性(由于我的手机目前是2.3.3)。 我正在使用ActionBarSherlock获取其他动作栏的东西,但我似乎无法弄清楚如何启动它以启动上下文操作栏,也没有弄清楚如何在ABS中的ActionBar任意添加按钮。 我看到你可以做标签,所以也许这就是答案,但由于我试图允许多选,我不想拥有正常的模态上下文菜单。

使用ShareActionProvider时如何关闭共享历史记录?

Android 4.0中提供的新ShareActionProvider(如果您使用的是ActionBarSherlock,则可在早期版本中使用)具有一个function,其中最后使用的项目显示在操作栏中。 无论如何要关闭它?

从ActionBarSherlock迁移到ActionBarCompat时有哪些常见问题?

我想从我的应用程序中删除ActionBarSherlock并将其替换为标准的ActionBarCompat。 我如何实现ActionBarCompat? 如何迁移活动? 哪些导入替换ActionBarSherlock导入? 什么是典型问题?

ActionBarSherlock中强制溢出菜单

我想在预ICS设备(2.3 – 2.1)上使用4.0+溢出菜单。 我正在使用带ActionBarSherlock的HoloEverywhere。 我尝试了以下解决方案: ActionBarSherlock&HoloEverywhere – 强制溢出? 但它不起作用,因为absForceOverflow不存在。 是在最新版本中删除了什么? 我已经检查了ABS和HE库项目的R文件,并且该字段根本不存在。 我的应用程序的主题设置为@style/Holo.Theme.Sherlock.Light ,这是我尝试inheritance的主题,并将absForceOverflow参数设置为true 。

在Gingerbread中水平滑动后不触发Actionbar的onNavigationItemSelected(int position,long itemId)

我已经使用导航模式实现了Tab视图和水平滑动视图(以更改选项卡)作为应用程序的列表。 我正在使用ActionBarSherlock和TabPageIndicator。 更改选项卡后,我使用片段重新加载内容。 在下拉式微调器中,我有2个项目。 每当活动重新加载或在Tabs上点击后,都会选择这些选项。 但是,如果执行滑动以选择其他选项卡,那么onNavigationItemSelected(int position,long itemId)将不会在Gingerbread版本中触发:(我们在Gingerbread 2.3.6,2.3.3上测试了它。 在logcat ,我收到此warning消息”View:onTouchEvent:ViewFlags” is DISABLED 但是,它在ICS,Froyo等上运行得非常好。 非常感谢您的帮助。 以下是代码段: public class MainPageActivity extends SherlockFragmentActivity implements ActionBar.OnNavigationListener { MenuItem menuItem; EditText searchText; public static Context mContext; public static DataAdapter dataAdapter; ArrayList accountList; public static List currentViewBeingChanged = new ArrayList(); public static LayoutInflater layoutInflater; public static String checktab = “running”, […]