7 Stimmen

Android-Schaltflächentext und html

Wie verwende ich html in einem Android-Widget Button?

8voto

CommonsWare Punkte 950864

Sie sollten in der Lage sein, Folgendes zu verwenden Html.fromHtml() um rohes HTML in eine Spanned Objekt, das Sie in einer setText() Anruf auf Ihrer Taste. Da die Html In der Dokumentation heißt es: "Nicht alle HTML-Tags werden unterstützt".

3voto

Charlie Collins Punkte 8676

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
        &lt;br /&gt;&lt;br /&gt;
        A simple BOLD example &lt;b&gt;StackOverflow&lt;/b&gt;.
    </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 .

1voto

ninjasense Punkte 13516

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X