2013-05-17 16 views
5

Mogę zrobić mniejszy ostatni 2 numer, ale chcę, aby wyświetlały się jak pokazano poniżej.Sposób korzystania z TextAppearanceSpan

TextView TV = (TextView)findViewById(R.id.txt); 

Spannable WordtoSpan = new SpannableString("13.500,27");   

WordtoSpan.setSpan(new TextAppearanceSpan(null, 0, 12, null, null), WordtoSpan.length()-2, WordtoSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
TV.setText(WordtoSpan); 

Dzięki Talha

enter image description here

+0

Sprawdź moją odpowiedź – Pragnani

Odpowiedz

4

Edit:

Można użyć SuperscriptSpan()

Spannable WordtoSpan = new SpannableString("13.500,27");   
WordtoSpan.setSpan(new TextAppearanceSpan(null, 0, 17, null, null), WordtoSpan.length()-2, WordtoSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
WordtoSpan.setSpan(new SuperscriptSpan(), WordtoSpan.length()-2, WordtoSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

rozmiar czcionki, aby zobaczyć efekt

enter image description here


Spróbuj nie znajdę inny sposób, ale do dołączania odnośnikiem tekst oryginalny spannalbe ciąg

Zastosuj Spans co kiedykolwiek chcesz na SpannableStringBuilder

SpannableStringBuilder builder=new SpannableStringBuilder("13.500,"); 
    builder.append(Html.fromHtml("X<sup>27</sup>")) 

Edycja 2

Jeśli utworzysz niestandardowy zakres, jak poniżej, wyrówna Supertext do góry absolutnie. Ale jeśli użyjesz domyślnej wersji SuperscriptSpan, to nie możesz dopasować tekstu do góry.

public class SuperscriptSpan2 extends MetricAffectingSpan implements 
      ParcelableSpan { 
     public SuperscriptSpan2() { 
     } 

    public int getSpanTypeId() { 
     return TextUtils.CAP_MODE_CHARACTERS; 
    } 

    public int describeContents() { 
     return 0; 
    } 

    public void writeToParcel(Parcel dest, int flags) { 
    } 

    @Override 
    public void updateDrawState(TextPaint tp) { 
     tp.baselineShift += (int) (tp.ascent()/1.25); 
    } 

    @Override 
    public void updateMeasureState(TextPaint tp) { 
     tp.baselineShift += (int) (tp.ascent()/1.25); 
    } 
} 
Powiązane problemy