2014-04-02 16 views
6

Tôi muốn hiển thị trên chế độ xem văn bản Android. Tôi đã thử làm nó với unicode nhưng không may mắn. Vui lòng xem mã của tôi bên dưới. Có ai giúp đuợc không.Cách hiển thị phân số trong chế độ xem văn bản android?

additionalInfoString = additionalInfoString.replace("½",<sup><small>&frac12;</small></sup>); 
+0

nhìn vào niềm hy vọng này đó là giúp đỡ http://stackoverflow.com/questions/2920726/android-displaying-fractions-using-unicode –

Trả lời

7

Bạn cần phải sử dụng định dạng HTML để hiển thị các phần phân đoạn

tv.setText(Html.fromHtml("3<sup>1</sup>/<sub>2</sub>")); 

Xác nhận HTML văn bản của bạn here.

enter image description here

Như Html.fromHtml(String s) phương pháp đã được khấu hao. Hãy xem câu trả lời này SO Answer

+0

cảm ơn u Slientkiller ... nó làm việc ... Nhưng vấn đề của tôi không phải là nó là nhận được cắt ngắn trên textview.Can bạn suggeset tôi bất cứ điều gì cho rằng – androidDeveloer

+0

@androidDeveloer bạn cần phải thiết lập chiều cao cố định cho việc này. – SilentKiller

+0

cảm ơn bạn SlientKiller .... Làm việc tốt ngay :))) – androidDeveloer

1

Bạn có thể sử dụng định dạng html của Android TextView. Tuy nhiên, bạn phải thêm một khoảng trống ở trên cùng và dưới cùng để giữ phần còn lại bị cắt.

SpannableStringBuilder text = new SpannableStringBuilder(); 
    text.append("3"); 
    text.append("\n"); 
    text.append(Html.fromHtml("<sup>1</sup>/<sub>2</sub>")); 
    text.append("\n"); 

P.S. : Đoạn mã trên là chưa được thử nghiệm (chỉ là một linh cảm)

0

Hãy thử điều này:

mTxtVw.setText(Html.fromHtml("3<sup>1</sup>/<sub>2</sub>")); 
1

bạn có thể sử dụng ký tự unicode trực tiếp như

tv.setText("3\u00BD"); 

này làm việc cho tôi.

0

Tôi khuyên bạn nên tạo hai TextView trong một RelativeLayout và quản lý nó. bởi vì trong văn bản siêu văn bản Html.fromHtml không đi kèm với căn chỉnh phù hợp. sử dụng một số điều như dưới đây

<RelativeLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 

    <TextView 
     android:id="@+id/maintext_sup" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:gravity="top" 
     android:text="1/2" 
     android:textSize="10sp"/> 

    <TextView 
     android:id="@+id/maintext" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:gravity="center" 
     android:text="3" 
     android:textSize="20sp" /> 
    </RelativeLayout> 
Các vấn đề liên quan