對齊在TextView中的HTML.fromHtml()中工作嗎?Html.fromHtml中的對齊()
我試圖
<div align="center"><p>Test</p></div>
和一些這方面的variaties,包括把對準接片沒有括號的段落標記,但沒有奏效。文字總是被留下。
感謝您的幫助!
你的。
對齊在TextView中的HTML.fromHtml()中工作嗎?Html.fromHtml中的對齊()
我試圖
<div align="center"><p>Test</p></div>
和一些這方面的variaties,包括把對準接片沒有括號的段落標記,但沒有奏效。文字總是被留下。
感謝您的幫助!
你的。
TextView中HTML文本不支持對齊方式。
雖然可以使用網頁視圖,而不是一個TextView,並加載從放在資產文件的HTML使用對齊:
public class ViewWeb extends Activity {
WebView webview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
webview = (WebView) findViewById(R.id.webView1);
webview.loadUrl("file:///android_asset/index.html");
}
}
在HTML文本中,則不能設置對齊,但你可以使用一個SpannableStringBuilder代替。它很冗長,但它完成了工作。
E.g.
private Spanned getFormattedLabelText(String text, String subText) {
String fullText = String.format("%s\n%s", text, subText);
int fullTextLength = fullText.length();
int titleEnd = text.length();
SpannableStringBuilder s = new SpannableStringBuilder(fullText);
//Right align the text
AlignmentSpan alignmentSpan = new AlignmentSpan.Standard(Layout.Alignment.ALIGN_OPPOSITE);
s.setSpan(alignmentSpan, 0, fullTextLength, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//Make the title bold
s.setSpan(new StyleSpan(Typeface.BOLD), 0, titleEnd, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); //bold
//make the subtext small
int smallTextSize = DisplayUtil.getPixels(TypedValue.COMPLEX_UNIT_SP, 10);
s.setSpan(new AbsoluteSizeSpan(smallTextSize), titleEnd + 1, fullTextLength, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); //bold
return s;
}
然後設置TextView的文本和往常一樣:
myTextView.setText(getFormattedLabelText("Title", "Subtitle"));
要設置的TextView對齊第一設置TextView的寬度match_parent,然後在你的HTML標記使用文本對齊選項。是這樣的:
<div style="text-align: center">this text should be in center of view</div>
更新: 這種解決方案只是在Android的7及以上的工作:|
我認爲是更容易使用在中央的文字一個TextView財產重力...
對於API 24及以下,一gravity
屬性添加到TextView
佈局元素
android:gravity="center_horizontal"
對於API 24及以上版本可以在HTML中使用style
。
String centeredHtml = "<div style=\"text-align: center\">" + myFormattedHtml + "</div>";
textView.setText(Html.fromHtml(centeredHtml));
但gravity
還支持多達至少26 API
這是與所有這些樂於助人的人,並快速解答什麼一個不錯的網站!但是,後續行動顯而易見:支持哪些HTML? – Rene 2010-10-07 05:32:43
支持的標籤有:p,div,em,b,strong,cite,dfn,i,big,small,font,blockquote,tt,a,u,sup,sub,h1到h6和img。請注意,您也可以通過調用fromHtml(String,ImageGetter,TagHandler)來提供您自己的TagHandler。這可以讓你添加對你想要的任何標籤的支持。 – 2010-10-07 18:05:36
謝謝你。我想要一個居中對齊。這在文本視圖中似乎是不可能的,所以處理程序不會有幫助。 – Rene 2010-10-13 16:42:47