Android - edittext - 没有显示textselection句柄,也没有共享选项

时间:2016-01-01 11:08:02

标签: android android-layout copy-paste

在App屏幕上,我有许多EditText视图。我的应用程序是使用Material Design(AppCompactActivity等)构建的。

在显示EditText字段时,长按我会尝试在文本中选择多个单词。这允许我复制或共享该文本。选择多于1个单词似乎是不可能的。

自从迁移到Material Design后,我发现了两件事:

1 - 长按后,没有显示选择手柄。所以,在问号的位置,我预计逆水滴。这些是您通常用于更改特定选择的句柄。

问题:为什么这些反向滴眼液消失了?我在选择例如文字时看到了它们。 webview。

是的,我使用'android:textIsSelectable =“true”'。下面是EditText布局。

enter image description here

2 - 所选文本的“共享”选项不可用。为什么?

enter image description here

EditText字段是什么?

<EditText
    android:id="@+id/geocache_info_hint"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="15sp"
    android:singleLine="false"
    android:lines="4"
    android:scrollHorizontally="false"
    android:scrollbars="vertical"
    android:layout_marginLeft="5dp"
    android:ellipsize="none"
    android:textIsSelectable="true"
    android:text=""/>

在选择了一个文本(在这个例子中是1个单词)后,我还看到了一个额外的栏“tekstselectie”(= textselection)被放在屏幕上方。这也是自Android 4以来的一个区别。

enter image description here

**解决方案**

在我的主题中,我有一行导致了没有显示任何文本选择句柄的问题:

<item name="android:popupBackground">@color/window_background</item> 

@ color / window_background被选为白色。

2 个答案:

答案 0 :(得分:6)

<强> UPD2:

此外,正如 tjm1706 所指出的那样,仔细查看Theme属性非常重要。在这种情况下,关键是删除State

<强> Upd1:

  1. 为了避免这种情况,请使用双工具栏&#34;在编辑时,将其添加到主题的风格中:

    <item name="android:popupBackground">@color/window_background</item>

    取自here

  2. 要添加分享(或任何其他按钮),您需要设置<item name="windowActionModeOverlay">true</item> <item name="actionModeBackground">@drawable/myapp_action_mode_background</item> EditText

    查看此问题:Custom cut/copy action bar for EditText that shows text selection handles - 它包含详细示例。

  3. <强>原始

    尝试删除setCustomSelectionActionModeCallback。用它输入是不可能的。如果您不需要android:textIsSelectable="true"可编辑 - 可能,简单EditText更适合您。

    没有它,你的TextView对我来说很好:

    enter image description here

答案 1 :(得分:0)

在xml中添加android:textIsSelectable。