我有一个垂直搜索栏和两个文本视图。一个textview是透明的,另一个textview设置在另一个textview的顶部。当拖动搜索栏的拇指时,透明文本视图进入视图,而另一个文本视图逐渐变为透明(获得文本逐渐切换的效果)。问题是,当文本是黑色时,这可以正常工作,但我需要为每个单词的每两个字母涂上不同颜色的颜色。我尝试使用setText(Html.fromHtml()和SpannableString来着色文本。两种情况下的着色都很好但我似乎无法在文本之间切换工作,任何想法?
这是文本黑色时的工作原理:
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 :(得分:0)
如果使用的是Android 3.0+,请使用setAlpha()
上的View
属性,而不是更改文本颜色。这使用浮点而不是从0(透明)到1.0(完整)的整数。这样做的好处在于您可以更改整个TextView而不仅仅是Text。
如果使用Android 2.3或更低版本,则可以使用getPaint()
上的TextView
。然后对给定的setAlpha()
对象应用Paint
。这将使用0(透明)到255(完整)之间的整数。这不会影响TextView
背景的其他属性。