2016-02-11 14 views
1

試圖建立一個購物車,並希望顯示折扣價格和舊價格要顯示它在圖像如何使文本視圖正是這樣

enter image description here

+3

看到這篇文章我擡頭看了「android strikethrough」http://stackoverflow.com/questions/3881553/is-there-an-easy-way-to-strike-through-text-in-an-app-小工具 – Urs

回答

0

做到這一點:

TextView someTextView = (TextView) findViewById(R.id.some_text_view); 
    someTextView.setText(someString); // SomeString = your old price 
    someTextView.setPaintFlags(someTextView.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); 
2

Dinamically(在運行時),你需要做的:

TextView myTextView= (TextView) findViewById(R.id.some_text_view); 
myTextView.setText("myOldPriceHere"); 
myTextView.setPaintFlags(myTextView.getPaintFlags()| Paint.STRIKE_THRU_TEXT_FLAG); 
+0

感謝它的工作 –

0
textview.getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG|Paint.ANTI_ALIAS_FLAG); 

textView.getPaint().setFlags(0); //make it gone 
0

您可以使用Spannable來實現這一點,如果您只需將其放在文本的一部分中,就可以更靈活。這裏有一個例子:

textview.setText("29,500", TextView.BufferType.SPANNABLE); 
final StrikethroughSpan STRIKE_THROUGH_SPAN = new StrikethroughSpan(); 
Spannable spannable = (Spannable) textview.getText(); 
spannable.setSpan(STRIKE_THROUGH_SPAN, 0, textview.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 
textview.setText(spannable); 
1

有2個選項是:

使用一個TextViewPaint.STRIKE_THRU_TEXT_FLAG標誌適用罷工,通過裝修繪製文本

油漆標誌。

這是一個例子:

TextView someTextView = (TextView) findViewById(R.id.some_text_view); 
someTextView.setText("$29,500"); 
myTextView.setPaintFlags(myTextView.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); 

enter image description here

或使用Spannable文本,這是一個例子:

TextView myTextView = (TextView) findViewById(R.id.my_text_view); 
myTextView .setText("$29,500", TextView.BufferType.SPANNABLE); 
final StrikethroughSpan STRIKE_THROUGH_SPAN = new StrikethroughSpan(); 
Spannable spannable = (Spannable) myTextView.getText(); 
spannable.setSpan(STRIKE_THROUGH_SPAN, 0, myTextView.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 
myTextView.setText(spannable); 

enter image description here

你可以看到兩個選項都非常相似,所以你可以選擇其中的一個。

相關問題