Android - edittext - 没有显示文本选择句柄,也没有共享选项
Android - edittext - no textselection handles are shown and no sharing option
在应用程序屏幕上,我有许多 EditText 视图。我的应用程序是使用 Material 设计(AppCompactActivity 等)构建的。
在显示 EditText 字段时,长按我尝试 select 文本中的多个单词。这允许我复制或共享该文本。选择超过 1 个单词似乎是不可能的。
自从迁移到 Material 设计后,我看到了两件事:
1 - 长按后没有显示 selection handles。所以,在问号的地方,我期待反水滴。这些是您通常用来更改特定 selection 的句柄。
问:为什么这些反向眼药水不见了?我在 selecting 文本时确实看到了它们,例如网页视图。
是的,我用'android:textIsSelectable="true"'。下面是 EditText 布局。
2 - selected 文本的 "sharing" 选项不可用。为什么?
什么是 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=""/>
根据文本的 selection(在本例中为 1 个单词),我还看到在顶部放置了一个额外的栏 'tekstselectie'(=textselection)的屏幕。这也是自 Android 4 以来的差异。
** 解决方案**
在我的主题中,我有一行导致不显示任何文本的问题 select离子句柄:
<item name="android:popupBackground">@color/window_background</item>
@color/window_background 被选为白色。
Upd2:
此外,正如 tjm1706 发现的那样,仔细阅读主题 属性 很重要。在这种情况下,关键是删除 <item name="android:popupBackground">@color/window_background</item>
Upd1:
要在编辑时避免这种情况"double-toolbar",请将其添加到您的主题样式中:
<item name="windowActionModeOverlay">true</item>
<item name="actionModeBackground">@drawable/myapp_action_mode_background</item>
取自
要添加共享(或任何其他按钮)- 您需要在 EditText
setCustomSelectionActionModeCallback
:
上设置
查看这个问题:Custom cut/copy action bar for EditText that shows text selection handles - 它包含详细示例。
原文:
尝试删除:android:textIsSelectable="true"
。用它打字是不可能的。如果您不需要 EditText
可编辑 - 可能,简单的 TextView
更适合您。
没有它,你的 EditText
对我来说很好用:
在xml中添加android:textIsSelectable。
在应用程序屏幕上,我有许多 EditText 视图。我的应用程序是使用 Material 设计(AppCompactActivity 等)构建的。
在显示 EditText 字段时,长按我尝试 select 文本中的多个单词。这允许我复制或共享该文本。选择超过 1 个单词似乎是不可能的。
自从迁移到 Material 设计后,我看到了两件事:
1 - 长按后没有显示 selection handles。所以,在问号的地方,我期待反水滴。这些是您通常用来更改特定 selection 的句柄。
问:为什么这些反向眼药水不见了?我在 selecting 文本时确实看到了它们,例如网页视图。
是的,我用'android:textIsSelectable="true"'。下面是 EditText 布局。
2 - selected 文本的 "sharing" 选项不可用。为什么?
什么是 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=""/>
根据文本的 selection(在本例中为 1 个单词),我还看到在顶部放置了一个额外的栏 'tekstselectie'(=textselection)的屏幕。这也是自 Android 4 以来的差异。
** 解决方案**
在我的主题中,我有一行导致不显示任何文本的问题 select离子句柄:
<item name="android:popupBackground">@color/window_background</item>
@color/window_background 被选为白色。
Upd2:
此外,正如 tjm1706 发现的那样,仔细阅读主题 属性 很重要。在这种情况下,关键是删除 <item name="android:popupBackground">@color/window_background</item>
Upd1:
要在编辑时避免这种情况"double-toolbar",请将其添加到您的主题样式中:
<item name="windowActionModeOverlay">true</item> <item name="actionModeBackground">@drawable/myapp_action_mode_background</item>
取自
要添加共享(或任何其他按钮)- 您需要在
上设置EditText
setCustomSelectionActionModeCallback
:查看这个问题:Custom cut/copy action bar for EditText that shows text selection handles - 它包含详细示例。
原文:
尝试删除:android:textIsSelectable="true"
。用它打字是不可能的。如果您不需要 EditText
可编辑 - 可能,简单的 TextView
更适合您。
没有它,你的 EditText
对我来说很好用:
在xml中添加android:textIsSelectable。