问题标签 [contextual-action-bar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3891 浏览

android - 将 ListView 项的 id 传递给 ActionMode.Callback 对象

所以我现在的问题是,现在我长时间单击 ListView 中的一个项目,它会弹出一个上下文操作栏。传递给 onItemLongClick 的 id 是我想在 mActionModeCallback 的 on ActionItemClicked() 方法中使用的变量。这似乎是一个相当常见的过程,因为如果用户正在编辑项目列表,您可能希望在用户单击“编辑”或“删除”操作时以某种方式访问​​数据库中该行的 ID。

0 投票
3 回答
28809 浏览

android - 用于显示文本选择句柄的 EditText 的自定义剪切/复制操作栏

我有一个应用程序,我希望能够显示一个允许用户选择一些文本的 TextView(或 EditText),然后按一个按钮来处理该文本。在 Honeycomb 之前的 Android 版本上实现这一点没有问题,但在 Honeycomb 及更高版本上,默认的长按操作是显示带有复制/剪切/粘贴选项的操作栏。我可以截取长按以显示我自己的操作栏,但是我没有显示文本选择句柄。

一旦我启动了自己的 ActionMode,我如何才能显示文本选择句柄?

这是我用来启动 ActionMode 的代码,除了没有显示文本选择句柄外,它可以工作:

0 投票
2 回答
1946 浏览

android - 如何更改 CAB 中的“完成”文本?

Android 的文档说了很多关于CAB 的内容,但没有关于如何更改“完成”的文本。有谁知道怎么做?

其他链接:

0 投票
1 回答
558 浏览

java - 用户界面:Action Bar 和 Contextual Action Bar,新趋势

我正在尝试第一次构建一个 android 应用程序。我可以用英语阅读,但不是很好。首先,我阅读了 android.developer.com。我有一个带有列表视图的活动。我还希望有 2 种类型的菜单: 1 - 通用的,例如带有“帮助”、“自定义”等命令;2 - 对于 1 个或多个选定的列表行“共享”、“删除”等。

我将 1 号菜单作为我的 Activity 上的操作栏。那很好。首先,我想将 2 号菜单作为上下文菜单(长按运行),但在那个站点上,他们说“上下文菜单很旧,请使用上下文操作栏”。好的,我读到了关于 CAB 的信息。据我了解,当用户选择列表中的行时,CAB 将仅显示相同的按钮(右上角有 3 个点),因此用户菜单将完全改变。这很奇怪!好吧,如果我除了那个用户会习惯这种转换之外,如果他选择了 10 个项目并决定看“帮助”怎么办?将没有可用的“帮助”!

我没有安卓设备,我不能只看它在真实程序上的表现。请,如果有人理解我在说什么,请向我解释它应该如何工作?如果可以的话,请给我看一些打印屏幕的例子。

编辑:我的目标是(1)以正确的方式(现代方式)将上下文菜单构建到应用程序中,我的问题是(2)如果我理解正确的用户无法从选择模式访问操作栏菜单(编号 1)。是这样吗?

0 投票
2 回答
2815 浏览

android - ListFragment 多选不显示选择

我正在尝试在我的应用程序中实现上下文操作栏。我正在扩展一个 ListFragment,并且定义了一个自定义 ArrayAdapter 和列表项 xml。单击项目可以正常工作,并且列表项的背景颜色会发生变化。我遇到麻烦的地方是选择多个项目时。上下文操作栏出现,当我触摸它们时我可以告诉我实际上是在选择项目,因为我让它记录选择了哪些项目,但列表项上的背景突出显示颜色没有改变!似乎其他一些人在使用 Fragments API 时也遇到了这个问题,他们想出了一种技巧来让它正常工作。但是,我想知道是否有人对为什么我的列表没有显示所选项目有明确的答案。

为了更好地衡量,这是我的代码:

0 投票
1 回答
1068 浏览

android - 滑动 ViewPager 时如何清除片段相关状态

在我的 android 应用程序中,我使用 ViewPager 和 Action Bar 来布局主要活动。PagerAdapter 是 FragmentStatePagerAdapter。

我的第一个片段包含一个启用了批处理上下文操作的 ListView。当 CAB 在屏幕上时,我滑动到下一个片段,它仍然处于打开状态。实际上,它保存在所有片段中。刷卡的时候怎么去掉?

滑动时可能会保留其他状态。如何将它们全部删除?

0 投票
0 回答
336 浏览

android - 实现上下文操作栏禁用行单击突出显示

按照 Google 的说明实现了一个单行上下文操作栏。说明说要向OnLongClickListener每个视图添加一个,并且由于我使用的是 a CustomAdapter,因此我使用以下代码在每一行上实现了它:

但是,使用该代码会禁用正常点击,因此我OnClickListener在每个视图中添加了一个:

这或多或少有效,但看起来很老套,背景颜色的变化不像正常的那样“平滑”。我还有另一个ListView我正在使用 aMultiChoiceModeListener并设置ChoiceModeto 的地方CHOICE_MODE_MULTIPLE_MODAL,因此用户可以选择多行,并且正常的行单击工作正常。

0 投票
1 回答
872 浏览

android - 上下文操作栏强制溢出

我正在以Actionbar编程方式构建我的菜单项,这是由于Android 中的一个错误,其中两个Fragments都有自己的菜单。

我正在构建菜单onCreateActionModeMultiChoiceModeListener如果菜单项超过 4 个,则所有项目都被强制进入上下文操作栏的溢出菜单。

这发生在纵向和横向模式下,但仅当布局在非平板电脑视图中时(例如,两个片段都未显示)。我正在使用 Android 4.2 在 Galaxy Nexus 上进行测试

更新

我已经将这个问题缩小到如果有超过 4 个菜单项,所有项目都会强制溢出。文本标签的长度无关紧要。我什至将所有文本都设置为空字符串,但它们仍然被迫溢出。设置IF_ROOMorALWAYS似乎没有效果。

更新 2

我有另一个Fragment使用 a OnItemLongClickListener,而不是 a MultiChoiceModeListener,并且我没有遇到同样的问题。我可以放入 10 个菜单项,它会Actionbar按预期显示第一对,并将其余的放入溢出中。

更新 3

关于这个问题的更多信息,对于纵向模式的 Nexus 7,问题仍然存在,但是,在非平板电脑视图中(两个片段均未显示),在 Nexus 7 的横向模式下,菜单项显示。我唯一能想到的是,当使用一个MultiChoiceModeListener认为上下文操作栏中没有空间的情况下,会进行一些间距计算。

0 投票
0 回答
1502 浏览

android - 上下文操作模式和 onClickListener 出现问题

我正在尝试创建一个用于管理不同路径的活动。在左侧应该有一个侧边栏,您可以在其中选择不同的课程。在右侧应显示相应的路径属性。

当我长按一个项目时,应该启动上下文操作模式。在那里您可以选择多个项目并可以执行一些批处理操作,例如一次更新更多条目或从列表中删除它们。

问题是,每当我在操作模式下更改模拟器或真实设备的方向时,应用程序就会崩溃。我尝试了不同的方式来完成模式(mode.finish,布尔值在 onSaveInstances ...),但模式总是在 onCreate 恢复。

另一个奇怪的行为是指 PathSimpleCurosrAdapter。这是一个普通的 SimpleCursorAdapter,它根据底层数据编辑 ListView 子项,并将第一个子项着色为浅灰色。没有 MulitChoiceListener 一切正常,但有了它,我无法通过正常的 onItemClick 函数更改第一个元素的颜色。

我的主要活动

PathSimpleCursorAdapter

活动布局

项目布局

日志猫说

0 投票
0 回答
220 浏览

android - 在 CAB 中如何更改溢出按钮?

我有 2 种不同的操作栏背景。一亮一暗。One for the default title and another for the CAB (when some of the elements are selected/activated).

在这些不同的状态下,我希望有 2 个不同的溢出。我尝试了选择器,但在 CAB 模式下找不到要表示的状态。

知道如何提供不同的溢出按钮吗?

  • 更一般地说,我可以从哪里开始探索操作栏,这样我就可以自己找到答案,而不是在 inet 上到处寻找零碎的东西?我希望 Google/Android 能够提供一个起点。我想我只是没有找到它。