Multiple alignment in TextView?

前端 未结 3 873
清酒与你
清酒与你 2020-12-03 03:13

I have a TextView like below. I used this code to set gray color for a part of the text.

// Prepare result text.
final String resultText = text + \"\\n\\n\"          


        
相关标签:
3条回答
  • 2020-12-03 03:41

    I think you should split the text into more than 1 string, put them into separated textview then align one by one.

    Hope this helps.

    0 讨论(0)
  • 2020-12-03 03:54

    Though its really late to answer, I assume that it might help someone at least. Add this to your code.

    styledResultText.setSpan(new AlignmentSpan.Standard(Alignment.ALIGN_OPPOSITE), 
    text.length() + 2, text.length() + 2 + dictionaryName.length(), 
    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    

    Alignment.ALIGN_OPPOSITE is the equivalent for right side.

    Alignment.ALIGN_NORMAL is the equivalent for left side.

    Note: This only works when there is at least 1 new-line character (\n) between the left & right-aligned text.

    0 讨论(0)
  • 2020-12-03 03:58

    If the resultText is always going to be right-aligned, add the gravity="right" attribute to your resultTextView instead of trying to right-align the text with styled spannable strings. This is assuming the grey text is within a separate TextView than your main text.

    In xml for the result (grey) text:

    <TextView android:id="@+id/resultTextView" 
        android:gravity="right" 
        android:layout_width="fill_parent" />
    
    0 讨论(0)
提交回复
热议问题