我有一些内容包含图像和富文本格式,以及应该在android中工作的链接。如何在android文本视图中显示它们。以及我应该存储内容的地方。什么是最佳做法?使用HTML内容或在单独的文本和图像视图中分解它?
例如,我想创建一个文本视图,如下图所示。
答案 0 :(得分:2)
String text = textView.getText().toString();
SpannableString spannableString = new SpannableString(text);
IconFontSpan iconFontSpan = new IconFontSpan(textView.getContext());
Pattern pattern = Pattern.compile("\u26F7"); // skier
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
spannableString.setSpan(iconFontSpan,
matcher.start(), matcher.end(), 0);
}
private static class IconFontSpan
extends MetricAffectingSpan {
private static Typeface typeface = null;
public IconFontSpan(Context context) {
if (typeface == null) {
typeface = Typeface.createFromAsset(
context.getAssets(), "icomoon.ttf");
}
}
public void updateMeasureState(TextPaint textPaint) {
textPaint.setTypeface(typeface);
}
public void updateDrawState(TextPaint textPaint) {
textPaint.setTypeface(typeface);
}
这是链接:
答案 1 :(得分:0)
使用HTML并在android webview中显示它,而不是textview。
答案 2 :(得分:-1)
您应该将HTML和所有内容存储到assets文件夹中。 然后在WebView中加载html。 在你的布局文件中写下这段代码。
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
从你的Activity中你可以像这样设置html。
WebView webView= (WebView) findViewById(R.id.movieLoadingLoader);
webView.loadUrl("file:///android_asset/your_html_folder/index.html");
或者,
如果要在TextView中加载HTML,请编写此代码。
Textview tv = (TextView) findViewById(R.id.textView);
tv.setText(Html.fromHtml("<h4>Hello World</h4>"));