相关疑难解决方法(0)

如何覆盖android webview os 4.1+的默认文本选择?

在发布这个问题之前,我已经搜索了很多,但在这个问题上找不到任何明确的答案.

我必须覆盖android webview的默认文本选择并显示我的自定义文本选择对话框选项.我试过这个示例代码项目.

此示例项目适用于以下设备和模拟器:

  • Acer Iconia a500平板电脑:10英寸:Android OS - 3.0
  • Acer Iconia a500平板电脑:10英寸:Android OS - 3.2
  • 三星Galaxy Tab:10英寸:Android OS - 4.0
  • 三星Galaxy Tab:7英寸:Android OS - 4.0
  • 模拟器:Skin-WVGA800:Android OS - 4.1.2

不适用于以下设备:

  • 三星Galaxy Tab:10英寸:Android OS - 4.1.2
  • 三星Galaxy Tab:7英寸:Android OS - 4.1.2

在Android操作系统版本4.1和4.1+而不是显示我的自定义文本选择选项对话框,它显示Android系统的文本选择的默认操作栏.

我对此进行了大量搜索,很多人建议使用onLongClick()方法接口

我已经在这个论坛上问了一个问题请看这个链接,这个问题的答案我能够克隆onLongClick()事件,但我无法停止默认文本选择操作栏.

对于这种情况,我几乎没有问题.

1.为什么onLongClick()方法停止在android os 4.1+上运行的设备上工作?

2.如果长按webview中的文本,如何停止默认文本选择操作栏?

这是我的自定义webview类.

  package com.epubreader.ebook;
  import org.json.JSONException;
  import org.json.JSONObject;
  import android.app.Activity;
  import android.content.Context;
  import android.graphics.Rect;
  import android.graphics.Region;
  import android.os.Handler;
  import android.os.Message;
  import android.util.AttributeSet;
  import android.util.DisplayMetrics;
  import …
Run Code Online (Sandbox Code Playgroud)

android textselection android-webview

45
推荐指数
2
解决办法
1万
查看次数

Webview中的Android文本选择

我使用webview在Android Honeycomb(3.x)中显示内容.我创建了用于剪切,复制和粘贴的自定义操作菜单.如何使用我自定义的操作菜单在Webview中复制所选文本.

clipboard android webview

27
推荐指数
1
解决办法
4838
查看次数

如何选择和复制未附加到活动的视图中的文本?

我正在创建一个像这样的"浮动"WebView:

public class MyService extends Service {
    public static WindowManager windowManager;
    public static LinearLayout mainView;
    public WebView webView;

    @Override
    public void onCreate() {
        super.onCreate();

        windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
        LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);

        // main view
        mainView = (LinearLayout) inflater.inflate(R.layout.popup, null);
        WindowManager.LayoutParams mainViewParams = new WindowManager.LayoutParams(
                LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,
                WindowManager.LayoutParams.TYPE_PHONE,
                WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
                PixelFormat.TRANSLUCENT);

        windowManager.addView(mainView, mainViewParams);

        // main view - web views
        webView = (WebView) mainView.findViewById(R.id.webView1);
        webView.setWebViewClient(new WebViewClient());
    }
}
Run Code Online (Sandbox Code Playgroud)

主视图是包含WebView的LinearLayout.创建服务时会显示主视图,并且不会附加到任何活动.由于WindowManager.LayoutParams.TYPE_PHONE旗帜,视图可以漂浮在其他活动之上.

问题是,我无法选择WebView中显示的任何文本.如果我按住某个单词,则选择显示然后会很快消失.用于复制文本等的操作栏不会显示,也不会显示Marshmallow中的上下文菜单.

这是否发生是因为我的观点没有附加到活动?我曾经使用活动和文本选择来实现我的浮动视图工作正常,但我最近改为这种"无活动"方法,因为当我显示/隐藏时我不想处理所有不必要的活动生命周期管理视图.

如何获取文本选择(在我的WebView中)?

编辑:此问题不是WebView特定的.我在主视图中添加了一个EditText,我也无法从中选择文本.

编辑2 …

android view webview android-activity

10
推荐指数
1
解决办法
619
查看次数

Webview文本选择不清除

我已经实现了一个ActionMode.Callback自定义文本选择功能WebView.我遇到的问题是选择和操作模式状态不匹配.

当我长按时,一切都很好.

长按时,选择突出显示与上下文操作栏一起显示.

当我与其中一个按钮或WebView(不包括实际选择)进行交互时,ActionMode应该销毁它,并且选择应该消失.

选择按钮,或触摸选择区域外. CAB应该关闭,选择应该消失.

在Android 4.4,KitKat中,这正是发生的事情.


然而,这不是4.1.1 - 4.3,Jelly Bean中发生的情况.单击其中一个按钮时,不会删除选择.

点击上下文操作栏中的按钮. 点击按钮后,选择仍然存在.

当我在选择之外点击时,恰好相反.删除选择,但上下文操作栏仍保留在屏幕上.

选择开始后点击<code>CustomWebView</code><p></p>

<pre><code>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 {

        // Called when the action mode is created; startActionMode() was called
        @Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            // …</code></pre><a target=Run Code Online (Sandbox Code Playgroud)

android selection webview contextual-action-bar android-actionmode

8
推荐指数
1
解决办法
2799
查看次数

在webview android中启用复制和粘贴

是否可以从Webview中选择文本然后进行复制和粘贴.有没有什么特别的方法可以做到这一点?请帮帮我..

android

7
推荐指数
1
解决办法
7343
查看次数

突出显示文字功能,如谷歌游戏书

我希望我的Android应用程序在文本中突出显示文本WebView.与Google Play book中的功能类似.有没有人知道如何实现这一目标?

我使用的是WebView因为我的内容是html格式.

基本上谈论这个效果:

在此输入图像描述

select android text webview

5
推荐指数
0
解决办法
1406
查看次数