2017-02-16 2 views
0

Lets sagen, ich habe zwei textviews, ein Titel und Details, die Details sind toEndOf der Titel (gleiche Zeile), und während der Titel ist eine Zeile, die Details, können sei mehrfach, meine Frage ist, wie kann ich die Details konfigurieren textview, dass, wenn es eine neue Zeile beginnt, anstatt es an die vorherige Zeile der textview auszurichten, richten Sie es an den Titel textview, damit ein Absatz Gefühl zu schaffen.Android zwei Textviews, richten sie als einen Absatz

Bitte sehen diese Screenshot zu verstehen, was ich zu erreichen bin versucht (der Titel ist der fett gedruckten Text, es Details der Rest):

Wunsch: enter image description here

Was ich habe, so weit:

enter image description here

Die einzige Lösung kann ich denke, o f verwendet für beide einen textview und formatiert den Text mit HTML, aber was ist, wenn ich eine größere Textgröße für den Titel brauche?

Danke!

+0

Sie einzelne Textview zu bekommen und eine Ausgabe wie Ihr großes Bild mit? das ist * mein eigenes Beispiel * wenn es dir gefällt, benutze es> http://stackoverflow.com/a/42081151/5188159 –

Antwort

0

können Sie SpannableText verwenden

den Job Dies wird!

<TextView 
    .. 
    android:id="@+id/text_view" 
    /> 

...

TextView text=(TextView)findViewById(R.id.text_view); 
String head = "Seat (s):"; 
String body = " The baby name means the meaning of the nam"; 
setTextWithSpan(text,head+body,head, body,new android.text.style.StyleSpan(android.graphics.Typeface.BOLD)); 

Benutzerdefinierte Methode

public void setTextWithSpan(TextView textView, String text, String spanTextBold,String secondPartOfText,StyleSpan style) { 

    SpannableStringBuilder sb = new SpannableStringBuilder(text); 

    int start = text.indexOf(spanTextBold); 
    int end = start + spanTextBold.length(); 
    sb.setSpan(style, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
    //sb.setSpan(new ForegroundColorSpan(Color.BLUE), start, end ,0); // if you need a color 

    int startTwo = text.indexOf(secondPartOfText); 
    int endTwo = startTwo + secondPartOfText.length(); 
    // sb.setSpan(new StyleSpan(Typeface.ITALIC),startTwo,endTwo , 0); 
    sb.setSpan(new RelativeSizeSpan(0.8f), startTwo, endTwo, 0); 

    textView.setText(sb); 
} 

enter image description here

+0

@who down vote this? Grund bitte? wenn etwas nicht stimmt, kann ich sie reparieren –

0

Ja, wie Sie erwähnt haben, sehe ich auch One TextView mit verschiedenen Strings Größen/Farben für Texte im Inneren.

das Sie brauchen, um zu erreichen SpannableString verwenden - Docs link

Auch diese answer für Details prüfen

0

Verwenden SpannableText für Ihr Problem zwei Textviews zu trennen.

Verwandte Themen