在App屏幕上,我有许多EditText视图。我的应用程序是使用Material Design(AppCompactActivity等)构建的。
在显示EditText字段时,长按我会尝试在文本中选择多个单词。这允许我复制或共享该文本。选择多于1个单词似乎是不可能的。
自从迁移到Material Design后,我发现了两件事:
1 - 长按后,没有显示选择手柄。所以,在问号的位置,我预计逆水滴。这些是您通常用于更改特定选择的句柄。
问题:为什么这些反向滴眼液消失了?我在选择例如文字时看到了它们。 webview。
是的,我使用'android:textIsSelectable =“true”'。下面是EditText布局。
2 - 所选文本的“共享”选项不可用。为什么?
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以来的一个区别。
**解决方案**
在我的主题中,我有一行导致了没有显示任何文本选择句柄的问题:
<item name="android:popupBackground">@color/window_background</item>
@ color / window_background被选为白色。
答案 0 :(得分:6)
<强> UPD2:强>
此外,正如 tjm1706 所指出的那样,仔细查看Theme属性非常重要。在这种情况下,关键是删除State
<强> Upd1:强>
为了避免这种情况,请使用双工具栏&#34;在编辑时,将其添加到主题的风格中:
<item name="android:popupBackground">@color/window_background</item>
取自here
要添加分享(或任何其他按钮),您需要设置<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 - 它包含详细示例。
<强>原始强>
尝试删除:setCustomSelectionActionModeCallback
。用它输入是不可能的。如果您不需要android:textIsSelectable="true"
可编辑 - 可能,简单EditText
更适合您。
没有它,你的TextView
对我来说很好:
答案 1 :(得分:0)
在xml中添加android:textIsSelectable。