Wie verwende ich html
in einem Android-Widget Button?
Antworten
Zu viele Anzeigen?Die Antwort von Mark ist wie immer genau richtig. Hier ist ein vollständigeres Beispiel als Referenz (dies ist ein verwirrender Teil der Dokumente). (Und ja, ich weiß, dass dieses Beispiel nicht mit einem Button
aber das ist die, die ich zur Hand hatte, und die Idee ist die gleiche).
String muss eine Ressource sein:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="mystring">
You can use regular text, and escaped HTML markup
<br /><br />
A simple BOLD example <b>StackOverflow</b>.
</string>
</resources>
Holen Sie dann die Ressource und verwenden Sie Html.fromHtml()
(wenn Sie ein EditText
(Sie müssen auch sicherstellen, dass der Puffer auf SPANNABLE eingestellt ist):
public class MyActivity extends Activity {
TextView myTextView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.about);
myTextView = (TextView) this.findViewById(R.id.mytextview);
myTextView.setText(Html.fromHtml(getResources().getString(R.string.mystring)),
TextView.BufferType.SPANNABLE);
}
...
Schließlich ist zu beachten, dass natürlich nicht jeder HTML-Code funktioniert. Je nach Ihren Anforderungen ist dies also möglicherweise nicht ganz sinnvoll. Siehe auch dies Ausgabe wenn Sie versuchen, einen Link (Anker-Tag) zu verwenden und Sie möchten, dass er auf das Anklicken reagiert. Für einfache Dinge, siehe Linkify .
Diese beiden Antworten sind auch gültig, man kann es auch so machen. Ich habe versucht, etwas in der gleichen Art zu tun und fand heraus, dass mein HTML zusammen mit CSS nicht richtig formatiert wurde, also nahm ich die Zeichenfolge und lud sie in eine Webview wie diese:
WebView webview = (WebView) findViewById(R.id.MyWebview);
String summary = "<html><body>You scored <b>192</b> points.</body></html>";
webview.loadData(summary, "text/html", "utf-8");
und es erkannte alle Stile und formatierte die HTML-Datei korrekt. Mehr aus der Android-Referenz HIER