Lange Texte in Layout einfügen

  • Lange Texte in Layout einfügen

    Hallo.
    Ich bin dabei ein Android-App zu schreiben.
    Hab soweit auch die Oberfläche und die ganzen Buttons erstellt und auch die Seiten verlinkt, nur habe ich das Problem, dass ich ganze Dokumente einbinden muss (lange Texte), wie z.B. Texte die fett sind, unterstrichen, Inhaltsverzeichnisse,Spiegelstriche etc. Und das sind immer so eine DIN A4 Seitenlänge. Nur das ich mit einen normalen Textview nicht so die Möglichkeit habe dies alles da hineinzupacken und so formatiert zu übernehmen. Ich habe schon Google gefragt nur habe ich da nichts gescheites drüber gefunden. Ich bräuchte Hilfe in der xml-Datei und in der java.class.

    Wie kann ich das am Besten einbinden?

    Vorab schonmal vielen Dank !
  • Schonmal danke für den Beitrag.

    Können Sie mir ein Beispielcode liefern von der .xml und er .class Datei? Da ich ein Anfänger in Java-Programmierung bin wäre das sehr nett. Und wie sieht das aus mit den Html-Dateien? Die kommen dann ganz normal in den /res Ordner richtig?
  • Habe noch nen besseren Ansatz. Man kanns auch gleich als ganze HTML-Seite laden, wenn man die Texte so vorliegen hat.
    Im Layout braucht man nur einen webview.

    XML-Quellcode

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3. android:orientation="vertical"
    4. android:layout_width="fill_parent"
    5. android:layout_height="fill_parent"
    6. >
    7. <WebView
    8. android:id="@+id/webview"
    9. android:layout_width="fill_parent"
    10. android:layout_height="fill_parent"
    11. />
    12. </LinearLayout>
    Alles anzeigen

    Geladen wird eine HTML-Datei aus dem assets Ordner folgendermaßen:

    Java-Quellcode

    1. package de.mo;
    2. import java.io.BufferedReader;
    3. import java.io.IOException;
    4. import java.io.InputStream;
    5. import java.io.InputStreamReader;
    6. import android.app.Activity;
    7. import android.content.res.AssetManager;
    8. import android.os.Bundle;
    9. import android.webkit.WebView;
    10. public class HTMLTestActivity extends Activity
    11. {
    12. /** Called when the activity is first created. */
    13. @Override
    14. public void onCreate(Bundle savedInstanceState)
    15. {
    16. super.onCreate(savedInstanceState);
    17. setContentView(R.layout.main);
    18. }
    19. @Override
    20. public void onResume()
    21. {
    22. super.onResume();
    23. WebView wv = (WebView) findViewById(R.id.webview);
    24. AssetManager assetManager = getAssets();
    25. InputStream stream = null;
    26. try
    27. {
    28. stream = assetManager.open("foo.html");
    29. BufferedReader r = new BufferedReader(new InputStreamReader(stream));
    30. StringBuilder total = new StringBuilder();
    31. String line;
    32. while ((line = r.readLine()) != null)
    33. {
    34. total.append(line);
    35. }
    36. wv.loadDataWithBaseURL("file:///android_asset/", total.toString(), null, "utf-8", null);
    37. }
    38. catch (IOException e)
    39. {
    40. // handle
    41. }
    42. }
    43. }
    Alles anzeigen

    Und das sieht dann evtl. so aus wie im anhang. Man kann auch Bilder usw. einfügen, wie bei normalem HTML halt so.
    Bilder
    • screen3.png

      135,88 kB, 338×576, 360 mal angesehen
    Gruß
    Thorsten