Articles of android actionmode

更改ActionMode溢出图标

有没有办法更改ActionMode Overflow图标而不更改“普通”ActionBar的图标?

在ActionMode中,appcompat-v7 v23.0.0状态栏颜色为黑色

UPDATE 最新的Gmail应用中存在同样的问题。 我仍然不明白为什么谷歌会做出如此不愉快的用户界面改变。 每当我看到它时,对我的执着都会变得疯狂 题 我有这个奇怪的问题与appcompat-v7 23.我要描述的问题不会发生22系列 您可以获得重现此issuse表单的源代码https://github.com/devserv/t/ 一旦构建,您可以点击并按住列表中的项目以激活ActionMode 问题: 在ActionMode中,appcompat将状态栏变为黑色。 如果我不使用以下内容,则不会发生这种情况 @android:color/transparent true 在我的v21风格,但我必须使用它,因为我希望我的导航抽屉看到状态栏后面。 当ActionMode开始和结束时,我曾经使用以下来避免黑色状态栏 public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getActivity().getWindow().setStatusBarColor(getResources().getColor(R.color.appColorPrimaryDark)); } } public void onDestroyActionMode(ActionMode actionMode) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getActivity().getWindow().setStatusBarColor(getResources().getColor(android.R.color.transparent)); } mMode = null; } 上面的代码没有创建/避免状态栏变黑,但在appcompat的v23上无法正常工作。 相反,当ActionMode被破坏时,您会看到一个短的黑色状态栏。 它看起来与ActionMode销毁时播放的animation有关。 我试图打开错误报告,但它已被拒绝评论 Don’t re-create bugs. 我错过了什么吗? […]

片段中的上下文动作模式 – 如果没有聚焦则关闭?

我在嵌套的fragement中实现了一个上下文动作模式栏。 此片段是视图分页器的一部分,视图分页器也是片段和导航抽屉的一部分。 我的问题:如果片段不再集中,我想关闭上下文操作模式栏。 因此,如果我在视图分页器中滑动,则应关闭操作模式栏。 但是如果我使用嵌套片段的onPause()方法,则不会直接调用该方法。 通常它等到我向前滑了两三次……这是一些照片: 在第二张图片中,您可以看到操作模式栏仍然存在。 所以我的问题是:我应该在哪个方法中调用我的actionModeBar.finish()方法,如果我离开片段,直接关闭动作模式栏? 也许片段的代码可以帮助你: public class EditorFragment extends Fragment { private static final String KEY_POSITION=”position”; ListView listView; private boolean isMultipleList = false; private ActionMode acMode; private int counterChecked = 0; private ActionMode.Callback modeCallBack = new ActionMode.Callback() { public boolean onPrepareActionMode(ActionMode mode, Menu menu){ return false; } public void onDestroyActionMode(ActionMode mode) […]

Android:使用工具栏在AppCompat-v7上设置样式ActionMode

我已经使用可选项创建了ListView,但ActionMode没有正确显示。 (右边有一个“比较”菜单按钮,白色) 我尝试使用以下代码设置actionMode的样式,但没有任何更改。 任何想法可能会发生这种情况? 我发现如果我直接在工具栏小部件而不是DarkTheme.ActionBar上设置背景颜色,则actionMode上文本的颜色仍然消失,但文本的颜色仍然是白色,我还需要使用ActionBar的颜色在主题上定义而不是小部件。 toolbar.xml mytheme.xml @color/abc_primary_text_material_dark @color/abc_primary_text_material_dark #ffff8800 false #303030 #ffffff #101010 #ff0099cc true #000000 #000000 false @style/DarkTheme.ActionMode @android:color/black #000000 #000000

如何动态更改actionModeCloseDrawable图标?

我正在设置actionModeCloseDrawable图标,如下所示 @drawable/ic_actionbar_back 但是我想在特定事件上以编程方式改变它。 有没有办法这样做? 我已经尝试定义两个样式并在运行时更改它,但这也没有用。

如何animationActionBar的ActionMode背景?

背景 可以更改操作栏的背景,甚至可以在两种颜色之间进行animation处理,如下所示: public static void animateBetweenColors(final ActionBar actionBar, final int colorFrom, final int colorTo, final int durationInMs) { final ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), colorFrom, colorTo); colorAnimation.addUpdateListener(new AnimatorUpdateListener() { ColorDrawable colorDrawable = new ColorDrawable(colorFrom); @Override public void onAnimationUpdate(final ValueAnimator animator) { colorDrawable.setColor((Integer) animator.getAnimatedValue()); actionBar.setBackgroundDrawable(colorDrawable); } }); if (durationInMs >= 0) colorAnimation.setDuration(durationInMs); colorAnimation.start(); } 问题 我找不到一种方法来获取动作模式的视图,这样我就可以在某些情况下改变它的背景(当它显示时)。 […]

仅在操作模式(CAB)中拆分操作栏

只能在操作模式下使用拆分操作栏? 我的应用程序只有顶部操作栏,但它的Contextual Action Bar需要分成两部分(顶部/底部)。 我find了这个: 上下文操作栏不一定与操作栏相关联。 它们独立运行,即使上下文操作栏在视觉上超过了操作栏位置。 在http://developer.android.com/guide/topics/ui/menus.html#CAB上 。 所以我认为这是可能的,但是如何?

无法打开自定义文件扩展名

我有一个我希望支持的文件格式,它只是一个zip,但我已将其重命名为.amg,所以我的应用程序可以读取它。 在我的三星手机上用姜饼做的很好,它打开了。 在我的带有kitkat的摩托罗拉手机上我得到的是无法打开它。 我试过这里find的各种解决方案,但似乎都没有。 通常,我将文件复制到手机上的下载文件夹中,然后单击该文件。 对kitkat唯一有用的是如果我使用Astro文件管理器打开文件,但我无法强迫该应用程序在人身上。 那么是什么让Astro工作却没有别的呢? ** [编辑] * ** * **如果我在kitkat中使用Astro文件管理器它似乎工作。 所以Astro工作,我试过的其他三个,包括内置的一个,但姜饼总是有效。 但是,当我尝试打开文件时,在我的kitkat上,我得到以下exception:存储的块长度无效。

如何用我的主题指定黑暗动作模式

我知道有关于设置操作栏的上下文操作栏(ActionMode)部分的几个问题,但它们似乎并不能解决我所追求的问题。 我正在使用带有浅色主题和黑暗动作栏的工具栏。 工具栏看起来像我想要的,但动作模式看起来像常规的黑暗主题。 我需要改变自己的风格才能获得黑暗主题动作模式(不仅仅是动作栏)? 似乎我应该能够通过点击Theme.AppCompat来快速完成这个,因为这显示了CAB我想要的方式,但我不希望应用程序的其余部分变暗。 我只关心API 14+并使用支持工具栏代替操作栏。 这是我的基本风格 @color/colorPrimary @color/colorPrimaryDark @color/colorActionMode true 工具栏样式 @color/abc_primary_text_material_dark @color/abc_primary_text_material_dark @color/abc_primary_text_material_dark @color/colorPrimaryDark 工具栏布局文件(此处设置popupTheme似乎没有任何效果)。 这是我的工具栏(这就是我想要的) 这是我的ActionMode(我需要反转) 这就是我想要ActionMode的样子(我通过改变我的样式来inheritance自Theme.AppCompat而不是Theme.AppCompat.Light.DarkActionBar 。问题是应用程序的其余部分变暗,我不知道想。

Webview文本选择不清除

我已经在WebView为自定义文本选择函数实现了ActionMode.Callback 。 我遇到的问题是选择和操作模式状态不匹配。 当我长按时,一切都开始了。 当我与其中一个按钮或WebView (不包括实际选择)进行ActionMode应该销毁ActionMode ,并且选择应该消失。 在Android 4.4,KitKat中,这正是发生的事情。 然而,这不是4.1.1 – 4.3,Jelly Bean中发生的情况。 单击其中一个按钮时,不会删除选择。 当我在选择之外点击时,恰好相反。 选择被删除,但上下文操作栏仍保留在屏幕上。 <img src="http://img.androidcookie.com/android/fPlrTm.jpg" alt="选择开始后点击 WebView 。”> 这是我的CustomWebView的代码 public class CustomWebView extends WebView { private ActionMode.Callback mActionModeCallback; @Override public ActionMode startActionMode(Callback callback) { ViewParent parent = getParent(); if (parent == null) { return null; } mActionModeCallback = new CustomActionModeCallback(); return parent.startActionModeForChild(this, […]