Articles of android actionmode

Webview文本select不清除

我已经为ActionMode.Callback中的自定义文本selectfunction实现了一个ActionMode.Callback 。 我有的问题是select和动作模式状态不匹配。 当我长时间按下时,一切都开始顺利。 当我与其中一个button或WebView交互(不包括实际select)时, ActionMode应该被销毁,select应该消失。 在Android 4.4,KitKat中,这正是发生的事情。 但是,这并不是4.1.1-4.3中所发生的,果冻豆。 当我点击其中一个button时,select不会被删除。 当我select外面时,恰好相反。 select被删除,但上下文操作栏保留在屏幕上。 这是我的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, mActionModeCallback); } private class CustomActionModeCallback implements ActionMode.Callback { // […]

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

我知道有两个关于样式的动作栏的上下文动作栏(ActionMode)的一些问题,但他们似乎并没有解决我之后的东西。 我正在使用带有浅色主题和黑暗操作栏的工具栏。 工具栏看起来像我想要的,但行动模式看起来像普通的黑暗主题。 我需要改变我的风格,以获得黑暗的主题行动模式(不只是行动栏)? 看来我应该能够通过点击进入Theme.AppCompat快速地做到这Theme.AppCompat因为这显示了CAB我想要的,但我不希望其他应用程序变黑。 我只关心API 14+,并使用支持工具栏代替操作栏。 这是我的基本风格 <style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="android:actionModeBackground">@color/colorActionMode</item> <item name="android:windowActionModeOverlay">true</item> </style> 工具栏样式 <style name="AppTheme.Toolbar" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> <item name="android:textColorPrimary">@color/abc_primary_text_material_dark</item> <item name="actionMenuTextColor">@color/abc_primary_text_material_dark</item> <item name="android:textColorSecondary">@color/abc_primary_text_material_dark</item> <item name="android:background">@color/colorPrimaryDark</item> </style> 工具栏布局文件(在这里设置popupTheme似乎没有任何影响)。 <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?android:attr/actionBarSize" app:theme="@style/AppTheme.Toolbar" app:popupTheme="@style/ThemeOverlay.AppCompat.Dark" android:popupTheme="@style/ThemeOverlay.AppCompat.Dark" android:elevation="2dp" android:focusable="false"/> 这是我的工具栏(这是我想要的) 这是我的ActionMode(我需要反转) 这是我想要的动作模式看起来像(我通过改变我的风格从Theme.AppCompat而不是Theme.AppCompat.Light.DarkActionBarinheritance而来的。问题是,其余的应用程序变暗,我不想。

Android ActionMode标题背景颜色

我正在使用新的Android支持库21.0.2,当我调用ActionMode文本select我得到这个。 它看起来比标题textview背景是透明的。 重新定义ActionMode的titleTextStyle不起作用。 有什么build议么? 谢谢。 theme.xml <item name="actionModeStyle">@style/ActionMode</item> <item name="android:actionModeStyle">@style/ActionMode</item> <style name="ActionMode" parent="@style/Widget.AppCompat.ActionMode"> <item name="titleTextStyle">@style/ActionModeTitleTextStyle</item> </style> <style name="ActionModeTitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionMode.Title"> <item name="android:background">#ff0000</item> <item name="android:colorBackground">#ff0000</item> </style>

在回收站视图片段中执行上下文动作模式的问题

我从一堆教程中一起入侵了我的第一个应用程序。 在他们中的一个的帮助下,我在主要活动使用的片段内实现了一个RecyclerView。 现在我发现了另一个教程 ,我想用它来实现与上下文动作模式的多选。 最大的问题是,教程没有使用片段。 我试图重写代码以适应片段。 我现在在一个点,我没有在Android Studio中的任何错误,并运行应用程序,但是当我真的做LongClickselect一个项目,它崩溃与NullPointerException: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.view.ActionMode.setTitle(java.lang.CharSequence)' on a null object reference 我完全失去了为什么会发生这种情况,以及一般的多选题。 我认为每个涉及的类的相关部分是: Adapter.java: public class Adapter extends SelectableAdapter<Adapter.ViewHolder> { private ArrayList<Meal> items = new ArrayList<>(); private Context context; private ViewHolder.ClickListener clickListener; public Adapter(ViewHolder.ClickListener clickListener) { super(); this.clickListener = clickListener; } @Override public ViewHolder onCreateViewHolder(ViewGroup […]

如何在Android中更改ActionMode背景颜色

我正在创build一个支持级别API为7的Android应用程序,所以我使用sherlock操作栏。 我正在使用动作模式。 问题是我想改变行动模式的背景。 所以我试过了 <item name="android:background">@color/something</item> <item name="android:backgroundStacked">@color/something</item> <item name="android:backgroundSplit">@color/something</item> 这些风格的解决scheme可用,但没有一个可行。 http://img.androidcookie.com/android/2nriic1.png

我如何定制动作模式的颜色和文字?

默认的动作模式(3.0及以上)带有一个绿色的主题和左侧的“完成”button。 我如何定制这些? 谢谢

删除ActionMode的“完成”button

0我在我的应用程序上使用startActionMode(ActionMode)。 默认情况下,在栏上添加一个“完成”button,我想删除它。 此外,如果有方法来改变它的文本,我也想知道,导致与“完成”不同的描述可以使行动对应于它所做的行为。

如何使上下文actionmode栏覆盖我的布局,而不是“推”下来

我已经为我的应用程序实现了自己的视图组。 使用操作栏不是一个select由于各种原因,所以在我的视图组我有我自己的“行动条”一个在上面,一个在底部。 图1说明了我目前的布局。 正如你所看到的,在布局中有两个edittext,一切看起来都不错。 但是,当用户在任何edittext中select一些文本时,会显示上下文actionmode栏。 图2说明了这一点。 当这种情况发生时,动作模式栏“推”下我的整个布局,以获得其空间。 在平板电脑和其他大屏幕设备中,这是可以的,但是在较小的设备中,尤其是在软键盘可见的情况下,剩余的高度太小(在横向方向上是不可用的)。 我想要做的是动作模式栏来覆盖我的布局,而不是像图3所示那样按下它。 那可能吗?

动作模式与工具栏偏移内容

Ohoy。 当我将应用程序升级到L时,我用工具栏replace了ActionBars,并且每当我启动一个ActionMode时,它就会将所有内容全部下载。 (我想这是因为ActionBar再次显示为了显示ActionMode。)是否可以显示ActionMode作为覆盖,或让它驻留在工具栏? 也没有任何造型的select似乎适用于它,这让我怀疑是否有一种新的方式来devise它。 有任何想法吗? 即时通讯使用AppCompat V7 21,迄今为止,我试过windowActionModeOverlay=true和windowActionModeOverlay=true toolbar.startActionMode(..)

使用动作模式时,状态栏在棒棒糖上变黑

我有一个状态栏,其中的主题设置如下: <!– Base Theme for all "Material"-esque styles. We use NoActionBar so we can use the Toolbar at runtime. –> <style name="Material" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowDrawsSystemBarBackgrounds">true</item> <item name="android:windowTranslucentStatus">true</item> … </style> 我也有一个DrawerLayout我的大部分活动,根据我的喜好使用状态栏的颜色: mDrawerLayout.setStatusBarBackgroundColor(getResources().getColor(R.color.myapp_green)); 我正在使用一个Toolbar ,而不是默认的ActionBar ,所以它存在于我的布局(即导航抽屉绘制在它的顶部)。 一切正常,除了在我的一个活动中,我有一个ActionMode多选模式。 当这个ActionMode被激活(使用长按),它覆盖Toolbar使用: <item name="android:windowActionModeOverlay">true</item> <item name="windowActionModeOverlay">true</item> <item name="actionModeStyle">@style/Material.Widget.ActionMode</item> Material.Widget.ActionMode风格是: <style name="Material.Widget.ActionMode" parent="@style/Widget.AppCompat.ActionMode"> <item name="android:background">@color/myapp_green</item> <item name="background">@color/myapp_green</item> </style> 现在,问题是,每当发生这种情况,状态栏从myapp_green颜色变成黑色。 这几乎就像状态栏半透明closures(我正在使用Android 5.0)。 我想知道如何能够得到这种行为不会发生,并保持状态栏颜色/半透明原样。 […]