我想在具有各种文本字段的Activity上对文本选择实现相同的自然类型的控件.任何实现图片中显示的行为的想法

我正在实现一个epub阅读应用程序,我正在使用textview显示epub的文本.我想在用户长按textview时从textview中选择文本,然后对所选文本视图文本(如高亮等)进行多项操作.那么,如何向用户显示这些游标以选择任何用户想要的文本.
*我不想使用EditText并使其看起来像textview.可能是重写textview是首选.
*我附上截图以解释我在寻找什么 -

我在webview中实现了文本选择代码.它没有任何问题,工作得非常好.但我想打开自定义对话框而不是默认对话框.我使用它的链接在下面
如何覆盖android webview os 4.1+的默认文本选择?
但它不适用于自定义对话框.
找到下面的代码
public class CustomWebView extends WebView {
private Context context;
private ActionMode mActionMode;
private ActionMode.Callback mSelectActionModeCallback;
private GestureDetector mDetector;
public CustomWebView(Context context) {
super(context);
this.context = context;
WebSettings webviewSettings = getSettings();
webviewSettings.setJavaScriptEnabled(true);
// add JavaScript interface for copy
WebAppInterface webAppInterface = new WebAppInterface(context);
addJavascriptInterface(webAppInterface, "JSInterface");
}
public CustomWebView(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
}
public CustomWebView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
this.context = context;
}
// …Run Code Online (Sandbox Code Playgroud) 如何在visual studio代码中选择每N行.我找不到合适的regualr表达式可以让我这样做.
我需要使用自定义命令扩展android Webview的文本选择菜单。到目前为止,我已经设法通过以下方式实现我的自定义Webview文本选择菜单:
public class CustomActionWebView extends WebView {
static String TAG = "CustomActionWebView";
ActionMode mActionMode;
int mMenuID;
Activity mParentAct;
ActionSelectListener mActionSelectListener;
ButtonClickListener mButtonClick;
public CustomActionWebView(Context context) {
super(context);
}
public CustomActionWebView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomActionWebView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public void setActionMenu(int mActionMenu, Activity ParentAct) {
setWebViewClient(new CustomWebViewClient());
this.mMenuID = mActionMenu;
mParentAct = ParentAct;
}
private ActionMode resolveActionMode(ActionMode actionMode) {
if (actionMode != null) {
final Menu menu = …Run Code Online (Sandbox Code Playgroud) 是否可以在WPF文本框中选择多个文本部分?例如,对于包含字符串的文本框THIS IS A TEST,我希望能够突出显示THIS,然后按住Ctrl并突出显示TEST而不取消选择THIS.
有关我的目标的直观线索,请参阅有关Firefox功能的这篇文章.
如果默认情况下没有办法实现这一点,我想知道在WPF中是否实现了任何第三方控件.
我试图加快所有移动网络浏览器(Android,iOS和Windows Phone)中"复制和粘贴"文本的过程,允许用户点击/触摸一个元素,它将自动"选择/突出显示"该元素内的文本.
尝试1: http ://jsfiddle.net/w3R6u/2/
HTML
<input type="text" value="This text will be selected when you click in this input" />
JQUERY
$("input").click(function () {
window.document.execCommand('SelectAll', true);
});
Run Code Online (Sandbox Code Playgroud)
..
尝试2: http ://jsfiddle.net/w3R6u/4/
HTML
<input type="text" value="This text will be selected when you click in this input" />
JQUERY
$("input").click(function () {
this.selectionStart=0;
this.selectionEnd=this.value.length;
return false;
});
Run Code Online (Sandbox Code Playgroud)
上面的两次尝试将像上帝自然希望他们做的那样做(步骤1),是的......但是我在Android设备上测试时发现当"按住"元素时(步骤2),它将会提示用户"选择单词"或"全选".完全忽略文本已被选中的事实!! 正确的做法是为用户显示本机"复制"或"剪切"选项,因为文本已被选中.
有谁知道为什么这个问题存在以及如何解决它?
..
我的第一次尝试当然是找到一个"复制并粘贴"的JavaScript解决方案.虽然W3.org正在开发剪贴板API和事件 …
在TRichEdit控件的每一行的左侧,有一个不可见的空间,光标变为右上箭头,当您单击那里时,整个行被选中.当TRichEdit的文本对齐方式为中心或右侧时,很容易看到它.我相信这个空间被称为选择栏.
TMemo控件中不存在这样的条.
我的问题:
如何删除此选择栏,以便光标行为与中的相同TMemo?
我正在使用Delphi 7,没有TRichEdit属性来控制这种行为.
ECO_SELECTIONBAR您可以对EM_SETOPTIONS消息使用一个值,但它只添加或删除选择栏的一小部分(仅当您要将选择栏添加到TRichEdit具有左对齐的选区时才有用).
我的最终目标是在文本选择上创建工具提示.然后,用户将能够与类似的工具提示进行交互
.请注意,我能够通过将选定的文本包装在标签中然后在其上创建工具提示来实现此目的,但由于某些其他要求和功能问题,这不再是我的选择.如果您在元素检查器中的上图中注意到,所选文本未包含在任何类型的标记中,则仅在选择上创建工具提示.我已经看过这个并且它对我不起作用,因为鼠标位置可能与选择结束不同.我需要实际的选择位置.
一般问题:实现这一目标的最佳方法是什么?更具体的问题:
在物理设备和模拟器上进行了测试。
众所周知,textSelectionHandleColor 已被弃用。因此,我决定对我的应用程序代码进行一些更改,不幸的是,selectionHandleColor 仍然是我们创建新应用程序时获得的默认蓝色。
TextSelectionTheme(
data: TextSelectionThemeData(
cursorColor: kLightGreen,
selectionHandleColor: kLightGreen,
selectionColor: kGrey),
child: TextField(
keyboardType: TextInputType.number,
style: TextStyle(
color: kOffWhite,
letterSpacing: 1.5,
),
decoration: InputDecoration(
labelText: 'Label',
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: kLightGreen),
),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(color: kLightGreen),
),
hintText: 'Hint',
hintStyle: TextStyle(
color: kOffWhite,
letterSpacing: 1.5,
),
labelStyle: TextStyle(
color: kLightGreen,
letterSpacing: 1.5,
),
),
),
),
Run Code Online (Sandbox Code Playgroud)
除手柄颜色外,光标颜色、选择颜色均已更改。我已尝试了一切可能的方法来更改文本选择手柄颜色。