2017-12-26 2 views
0

Hallo Ich verwende diese Codes, um meine html Codes auf meinen Seiten anzuzeigen. Ich konvertiere mein Dokument zu html mit https://wordhtml.com/ dieses Web. aber keine Farbänderungen und andere auf meinen Apps. Seite? Was kann ich tun?displayhtml Text auf meiner Seite

cb.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

      String htmlAsString = getString(R.string.html); 
      Spanned htmlAsSpanned = Html.fromHtml(htmlAsString); 
      vh = (TextView) findViewById(R.id.vh); 
      vh.setText(htmlAsSpanned); 
      ((TextView)findViewById(R.id.baslik)).setVisibility(View.GONE); ((Button)findViewById(R.id.cb)).setVisibility(View.GONE); ((Button)findViewById(R.id.geri)).setVisibility(View.VISIBLE); ((Button)findViewById(R.id.db)).setVisibility(View.GONE); ((Button)findViewById(R.id.bb)).setVisibility(View.GONE); ((Button)findViewById(R.id.ck)).setVisibility(View.GONE); 
     } 
    }); 

MY html codes

meine String-Dateien:

<string name="html"> 
    <![CDATA[ 
<p><strong><span style="color: #ff0000;">RED BOLD&nbsp;</span></strong></p> <p><span style="background-color: 
#00ff00;">FONT</span></p> <h1>HEADER</h1> 
    ]]> 

aber hier ist das Ergebnis. Es gibt keine rote Farbe. was ist das Problem? Warum sieht die rote Farbe nicht?

enter image description here enter image description here

+0

Dies ist weil Sie vielleicht ein CSS verwendet haben und auch einige der Tags nicht funktioniert in Android –

+0

Sie können ein 'WebView' verwenden! Es gibt eine Beschränkung in Tags, wenn Sie diese Html.fromHtml überspannt verwenden! – Xenolion

+0

Verwenden Sie Android 'WebView'! – Xenolion

Antwort

0

setText(Html.fromHtml(bodyData)) ist nach api veraltet. Versuchen Sie folgendes:

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { 
     myTextView.setText(Html.fromHtml("<p><strong><span style=\"color: #ff0000;\">RED BOLD&nbsp;</span></strong></p> <p><span style=\"background-color: 
    #00ff00;\">FONT</span></p> <h1>HEADER</h1>", Html.FROM_HTML_MODE_COMPACT)); 
} else { 
     myTextView.setText(Html.fromHtml("<p><strong><span style=\"color: #ff0000;\">RED BOLD&nbsp;</span></strong></p> <p><span style=\"background-color: 
    #00ff00;\">FONT</span></p> <h1>HEADER</h1>")); 
} 
+2

Bitte entkommen Sie Ihre Saiten richtig. –

0

mein Vorschlag WebView verwendet, wird Sie das erreichen können,

In XMl Seite

<WebView 
    android:id="@+id/q" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"/> 

dann Aktivitätsklasse Sie diese Zeilen hinzufügen können

q=findViewById(R.id.q); 
    String s="<string name=\"html\">\n" + 
      " <![CDATA[\n" + 
      "<p><strong><span style=\"color: #ff0000;\">RED BOLD&nbsp;</span></strong></p> <p><span style=\"background-color:\n" + 
      "#00ff00;\">FONT</span></p> <h1>HEADER</h1>]]>"; 
    q.loadDataWithBaseURL(null, s, "text/html", "utf-8", null); 
+0

ist diese Methode schneller als eine Webansicht? Ich bin langweilig, weil Webview zu langsam ist ... –

Verwandte Themen