【发布时间】:2016-10-20 08:54:33
【问题描述】:
我更新到 SDK 版本 24,现在 Html.fromHtml() 已弃用。并且 Html 类有一个新方法,带有额外的参数,名为 flag,但它的最小 API 是 24。
对于较低的 API 版本,此功能是否有替代方案?我不想为此使用WebView。
【问题讨论】:
我更新到 SDK 版本 24,现在 Html.fromHtml() 已弃用。并且 Html 类有一个新方法,带有额外的参数,名为 flag,但它的最小 API 是 24。
对于较低的 API 版本,此功能是否有替代方案?我不想为此使用WebView。
【问题讨论】:
随便用
if (Build.VERSION.SDK_INT >= 24) {
Html.fromHtml(String, int) // for 24 api and more
} else {
Html.fromHtml(String) // or for older api
}
将 Html.fromHtml(String, int) 用于 24 api 遵循文档:
https://developer.android.com/reference/android/text/Html.html
【讨论】:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { Html.fromHtml(String, int) // for 24 api and more } else { Html.fromHtml(String) // or for older api }
要么:
在所有 API 级别上使用 Html.fromHtml(String),或者,
在 API 级别 23 和更早的设备上使用 Html.fromHtml(String),在 API 级别 24+ 设备上使用 Html.fromHtml(String, int),使用 Build.VERSION.SDK_INT 找出您正在运行的设备的 API 级别
在这种情况下,“已弃用”是提示寻找双参数方法,但单参数方法仍然有效,并且(很可能)会在相当长的一段时间内这样做。
【讨论】:
Html。
"FIELD HARDNESS <mark style=\"font-weight:600;color:#000;\">test</mark> REPORT" 在这种情况下不起作用。 @CommonsWare
其实还有一个方法带flag参数
/** @deprecated */
@Deprecated
public static Spanned fromHtml(String source) {
throw new RuntimeException("Stub!");
}
public static Spanned fromHtml(String source, int flags) {
throw new RuntimeException("Stub!");
}
只需使用带有 flag 参数的 fromHtml 函数。标志参数是
public static final int FROM_HTML_MODE_COMPACT = 63;
public static final int FROM_HTML_MODE_LEGACY = 0;
public static final int FROM_HTML_OPTION_USE_CSS_COLORS = 256;
public static final int FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE = 32;
public static final int FROM_HTML_SEPARATOR_LINE_BREAK_DIV = 16;
public static final int FROM_HTML_SEPARATOR_LINE_BREAK_HEADING = 2;
public static final int FROM_HTML_SEPARATOR_LINE_BREAK_LIST = 8;
public static final int FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM = 4;
public static final int FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH = 1;
public static final int TO_HTML_PARAGRAPH_LINES_CONSECUTIVE = 0;
public static final int TO_HTML_PARAGRAPH_LINES_INDIVIDUAL = 1;
【讨论】:
Html.fromHtml(String source, int flags) 方法与 api 24 一起提供。