- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的 Android 应用程序中使用 setMovementMethod(LinkMovementMethod.getInstance())
作为 EditText View 。EditText 中的链接工作正常,但在某些情况下,我需要以程序方式禁用此方法(因为在 longClick 菜单中启用复制项)。怎么做?我需要类似“removeMovementMethod()”的东西。
你能帮帮我吗?
谢谢!
最佳答案
遇到同样的问题后,请考虑一下,设置方法似乎有一定的顺序。
final TextView tv = new TextView(getContext());
tv.setLayoutParams(lp_tv);
Linkify
将文本中的所有链接标记为Link
tv.setAutoLinkMask(Linkify.ALL);
TextView
的内容(在setAutoLinkMask
之后)tv.setText("MyText")
tv.setText(Html.fromHtml("<big>MyText</big>");
LinkMovementMethod
。如果之前附加了该方法,它将调用默认行为并打开系统浏览器。我使用 TextViewLinkHandler
类作为个人行为来完成这项工作。标准行为是:tv.setLinkMovementMethod(new LinkMovementMethod.getInstance());
如果用户单击链接,我会使用 TextViewLinkHandler
做一些其他的事情(例如打开一个单独的 Intent 来处理 URL)
tv.setMovementMethod(new TextViewLinkHandler() {
// do my stuff ...
// if left blank, nothing will happen on click at the link, so leave it blank to do nothing
});
用上面提到的TextViewLinkHandler()
public abstract class TextViewLinkHandler extends LinkMovementMethod {
public boolean onTouchEvent(TextView widget, Spannable buffer, MotionEvent event) {
if (event.getAction() != MotionEvent.ACTION_UP)
return super.onTouchEvent(widget, buffer, event);
int x = (int) event.getX();
int y = (int) event.getY();
x -= widget.getTotalPaddingLeft();
y -= widget.getTotalPaddingTop();
x += widget.getScrollX();
y += widget.getScrollY();
Layout layout = widget.getLayout();
int line = layout.getLineForVertical(y);
int off = layout.getOffsetForHorizontal(line, x);
URLSpan[] link = buffer.getSpans(off, off, URLSpan.class);
if (link.length != 0) {
onLinkClick(link[0].getURL());
}
return true;
}
abstract public void onLinkClick(String url);
}
关于android - 在 android 上禁用 setMovementMethod(LinkMovementMethod.getInstance()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10574005/
我有一个只有 TextView 的 Activity 。 TextView 很长(需要垂直滚动)并且有一些链接。 为了滚动和拦截链接,我有以下代码: TextView textView = (Text
我有一个标准 LinkMovementMethod在我的 TextView 中建立,以便在用户触摸链接时推送某种网络 Activity 。但是,我想建立一个“您想查看链接”对话框,而不是将用户直接带到
LinkMovementMethod 类有助于查找、突出显示和处理对 TextView 内链接的点击,在处理 onTouch() 方法时存在问题 - 如果您从检测到的链接开始拖动,您将看到不会发生滚动
要启用 Linkify 行为,我在代码中这样做: textView.setMovementMethod(LinkMovementMethod.getInstance()); 有没有办法在 textvi
我基本上想了解LinkMovementMethod 类。我在需要可点击的编辑文本中有一个图像。所以我使用 LinkMovementMethod.getInstance 来编辑文本。但是由于这个 Lin
我在 TextView 实例上使用 setMovementMethod(LinkMovementMethod.getInstance()),但触摸时文本会闪烁。有什么解决办法吗? 最佳答案 使用 @a
我有一个带有可点击的 spannablestrings 的 TextView。我在打电话 textview.setMovementMethod(LinkMovementMethod.getInstan
我目前有一个带有一些 HTML 电话号码和 url 的 TextView。 我注意到我们可以使用 setMovementMethod 使这些链接可点击: tv.setText("Phone numbe
我在使用 Listview 时遇到了一些问题。 Listview 具有由 imageview 和 textview 组成的列表项。 Textview 包含可点击的链接。当我将 LinkMovement
我正在尝试使用 EditText 小部件在 Android 中创建一个通用的富文本编辑器(应该支持文本格式、链接和在文本中插入图片)。问题是为了能够处理对超链接的点击,我需要将 LinkMovemen
我想同时实现文本对齐和向 TextView 添加链接(显示更多),所以我将 justificationMode 与 movementMethod 一起使用。justificationMode 运行良好
我有一个 TextView,我正在填充一个由一些 HTML 制作的 Spannable。 这段代码: textView.setText(Html.fromHtml(textContent, mImag
我在 textView 中使用 clickable span 来使只有部分文本可以点击。它工作正常,除了 textView 正在向下滚动,这是我不想要的。发生这种情况是因为我使用了 LinkMovem
我有一个 TexView 需要放置在 maxim 2 行中并且其中有一个可链接的文本。如果我将 LinkMovementMethod 设置为 TextView ,我会得到一个可滚动的 TextView
我在我的 Android 应用程序中使用 setMovementMethod(LinkMovementMethod.getInstance()) 作为 EditText View 。EditText
我正在使用 Html.fromHtml 为 TextView 对象设置相应的文本。所述 HTML 具有 url 链接,我希望用户能够单击并打开浏览器访问该链接。我正在使用 LinkMovementMe
到目前为止,我所做的是具有普通文本和可点击跨度的 TextView 的 ListView : 单击我正在打开 URL 的跨度,单击 textView 周围的项目 View 会导致 listView O
我想要做的:一个包含这样消息的列表: and here is the mnessage the user writes, that will wrap nicely to the next line
我是一名优秀的程序员,十分优秀!