2014-01-11 49 views
0

我有一個垂直查找欄和兩個文字查看。一個textview是透明的,另一個textview是在另一個之上設置的。拖動查找欄的縮略圖時,透明文本視圖進入視圖,其他文本視圖逐漸變爲透明(獲得文本逐漸切換的效果)。問題在於,當文本爲黑色時,此功能正常工作,但我需要以不同顏色對每個單詞的每兩個字母進行着色。我已經嘗試着使用setText(Html.fromHtml()和SpannableString着色文本。兩種情況下的着色都可以正常工作,但是我似乎無法使文本之間的切換工作,任何想法?兩個彩色文字之間逐漸切換android切換

這就是它工作時,文字爲黑色:

VerticalSeekBar vSeekBar2 = (VerticalSeekBar)findViewById(R.id.SeekBar02); 
vSeekBar2.setMax(255); 
vSeekBar2.setProgress(255); 
vSeekBar2.setOnSeekBarChangeListener(new VerticalSeekBar.OnSeekBarChangeListener() { 

@Override 
public void onStopTrackingTouch(VerticalSeekBar seekBar) { 

} 

@Override 
public void onStartTrackingTouch(VerticalSeekBar seekBar) { 

} 

@Override 
public void onProgressChanged(VerticalSeekBar seekBar, int progress, 
     boolean fromUser) { 
    ((TextView) findViewById(R.id.textvu)).setTextColor(Color.argb(progress, 0, 0, 0)); 
    ((TextView) findViewById(R.id.textvu2)).setTextColor(Color.argb((255-progress), 0, 0, 0)); 

回答

0

如果使用Android 3.0+,則使用在所述View屬性setAlpha()而不是改變文字顏色這使用浮點而不是整數從0(透明)到1.0(全部),這樣做的好處是你可以改變整個TextView而不僅僅是Text。

如果使用Android 2.3或更低版本,則可以使用TextView上的getPaint()。然後在給定的Paint對象上應用setAlpha()。這將使用0(透明)到255(完整)之間的整數。這不會影響像背景TextView的其他屬性。

+0

DeeV,感謝您的快速響應!我試圖實現Android 2.3.6的解決方案,但它沒有成功。在每篇文章中,我都有一個詞。每個單詞的每兩個字母都以兩種不同顏色中的一種着色(「蘋果」一詞將被分成「ap」(紅色)「pl」(綠色)「e」(紅色再次)。嘗試使用getPaint()和應用setAlpha(),但它並沒有改變文本的transperancy。我也嘗試創建我自己的繪畫對象,也沒有工作。我已經使用Html顏色的文字,可以是setAlpha不起作用的原因嗎? – user2819654