gpt4 book ai didi

android - 禁用 Android webview 的文本选择栏但保留文本选择句柄 (Xamarin)

转载 作者:行者123 更新时间:2023-11-29 01:47:58 25 4
gpt4 key购买 nike

我正在使用 Xamarin for Android 但这同样适用于 Android JAVA SDK。我有一个 webview,用户可以使用内置的 Android 操作系统句柄在网页上选择文本。我想禁用长按时出现的文本选择操作栏,但不禁用用于进行选择的文本选择 handle 。

我已经尝试覆盖 OnSelectionStart 方法,但这没有任何效果。

最佳答案

自 Android 6.0 引入 Text selection ,我面临同样的问题。感谢paolo.camitini ,我找到了。要解决您的问题,您必须覆盖方法 startActionMode(ActionMode.Callback callback)public ActionMode startActionMode(ActionMode.Callback callback, int type)(来自 SDK 23)。这是我的实现:

import android.content.Context;
import android.util.AttributeSet;
import android.view.ActionMode;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.webkit.WebView;

public class EpubWebView extends WebView {
public EpubWebView(Context context) {
super(context);
}

public EpubWebView(Context context, AttributeSet attrs) {
super(context, attrs);
}

public EpubWebView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}

public EpubWebView(Context context, AttributeSet attrs, int defStyleAttr, boolean privateBrowsing) {
super(context, attrs, defStyleAttr, privateBrowsing);
}

@Override
public ActionMode startActionMode(ActionMode.Callback callback) {
return new ActionMode() {
@Override
public void setTitle(CharSequence title) {
}

@Override
public void setTitle(int resId) {
}

@Override
public void setSubtitle(CharSequence subtitle) {
}

@Override
public void setSubtitle(int resId) {
}

@Override
public void setCustomView(View view) {
}

@Override
public void invalidate() {
}

@Override
public void finish() {
}

@Override
public Menu getMenu() {
return null;
}

@Override
public CharSequence getTitle() {
return null;
}

@Override
public CharSequence getSubtitle() {
return null;
}

@Override
public View getCustomView() {
return null;
}

@Override
public MenuInflater getMenuInflater() {
return null;
}
};
}

@Override
public ActionMode startActionMode(ActionMode.Callback callback, int type) {
return new ActionMode() {
@Override
public void setTitle(CharSequence title) {
}

@Override
public void setTitle(int resId) {
}

@Override
public void setSubtitle(CharSequence subtitle) {
}

@Override
public void setSubtitle(int resId) {
}

@Override
public void setCustomView(View view) {
}

@Override
public void invalidate() {
}

@Override
public void finish() {
}

@Override
public Menu getMenu() {
return null;
}

@Override
public CharSequence getTitle() {
return null;
}

@Override
public CharSequence getSubtitle() {
return null;
}

@Override
public View getCustomView() {
return null;
}

@Override
public MenuInflater getMenuInflater() {
return null;
}
};
}
}

关于android - 禁用 Android webview 的文本选择栏但保留文本选择句柄 (Xamarin),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20248753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com