1. Andr_green, 24.02.2012 #1
    Andr_green

    Andr_green Threadstarter Junior Mitglied

    Hallo,

    habe mal eine Frage bzgl. automatischen Zeilenumbruch und der TextView.
    Folgender Sachverhalt:

    Ein Layout wird dynamisch erstellt, also nicht im xml. Muss leider so sein, da die Anzahl von Elementen dynamisch zur laufzeit entschieden wird.
    Genutzt wird ein TableLayout, und jede Row wird dynamisch erzeugt.
    Innerhalb der Row befindet sich eine TextView, die auch Text anzeigen soll.
    Wenn nun dieser Text so lange ist, dass die Darstellung nicht innerhalb der breite der Row erfolgen kann,
    soll automatisch ein Zeilenumbruch geschehen damit der Text komplett angezeigt wird.
    Hier nun ein Teil des Codes:

    Code:
    
    ...
    
    TableRow row_value = new TableRow(this);
                row_value.setMinimumHeight(90);
                
                TableLayout.LayoutParams row_valueParams = new TableLayout.LayoutParams(
                        TableLayout.LayoutParams.FILL_PARENT,
                        TableLayout.LayoutParams.WRAP_CONTENT);
                
                row_valueParams.setMargins(40, 10, 20, 10);
                row_value.setLayoutParams(row_valueParams);
                
                
                // TextView
                
                TextView tv_value = new TextView(this);
    
                tv_value.setText(actProp.getValue());
                tv_value.setTextColor(font_color);
                tv_value.setTextSize(prop.getFontSizeInSP());
                tv_value.setGravity(Gravity.LEFT); 
                tv_value.setSingleLine(false);
                tv_value.setInputType(InputType.TYPE_TEXT_FLAG_IME_MULTI_LINE);
    
                row_value.addView(tv_value);
    
    
    ...
    
    Leider erfolgt kein Zeilenumbruch... hat jemand eine Idee über welche Parameter ein Zeilenumbruch erfolgt? Bisher habe ich schon ein wenig rum gespielt, aber leider nicht erfolgreich.
    Als letzte Möglichkeit sehe ich nur noch den Text manuell um "\n" zu erweitern.
    Vielen Dank schon mal für Antworten.

    LG
    Andr_green
     
  2. StefMa, 24.02.2012 #2
    StefMa

    StefMa Gewerbliches Mitglied

    Zähle die Zeichen innerhalb des Strings und sage ab 200 Zeichen soll "abgeschnitten" werden.
    Dann gehst du 200 Zechen durch, gehst vor oder zurück in diesem 200er Bereich und suchst das nächste Space.
    Erstelle einen neuen String, der alles "hinter" dem Space speichert und gib beides an das TextView:
    textview.setText(ersterString + "\n" + zweiterString);

    MfG Ice

    €dit: Geht einfacher: grade gefunden: http://www.androidpit.de/de/android...tomatischer-zeilenumbruch-in-textview#p736003
     
    Zuletzt bearbeitet: 24.02.2012
  3. Andr_green, 24.02.2012 #3
    Andr_green

    Andr_green Threadstarter Junior Mitglied

    Hallo und danke für deine Antwort.

    Auf dem Link war ich auch schon, leider hat es damit auch nicht funktioniert.
    Ich denke es wird wohl auf eine bearbeitung des Strings herauslaufen.....
     
  4. the_alien, 24.02.2012 #4
    the_alien

    the_alien Android-Lexikon

    Pack doch den TextView in ein XML und inflate ihn dynamisch?
     
  5. Andr_green, 24.02.2012 #5
    Andr_green

    Andr_green Threadstarter Junior Mitglied

    Auch dir danke für die Antwort.

    Und was mache ich dann in dem XML anders, damit ein zeilenumbruch passiert??

    Eingebunden über diesen weg habe ich es schon, die frage nun ist, was ändern um eine Zeilenumbruch zu erhalten.
    Es geht um Strings die keine Leerzeichen etc beinhalten.
     
  6. the_alien, 24.02.2012 #6
    the_alien

    the_alien Android-Lexikon

    Achso! Ohne Leerzeichen ist das natürlich beliebig doof. Dann kommst du wohl kaum um das manuelle Splitten herum.
     
    Andr_green bedankt sich.

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. leerzeile android

    ,
  2. Buttonstext zeilenumbruch erzeugen Android studio

    ,
  3. textumbruch in textView erzeugen strings.xml android studio

    ,
  4. android programmieren textview Zeilenumbruch,
  5. zeilenumbruch textview android