在TextView属性设置中,较为实用的Spannable,在这记一段代码:
package xiaolong.ui;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.style.ForegroundColorSpan;
import android.text.style.ImageSpan;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView mTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.textview);
inti();
}
public void inti() {
/**
* Demo描述: 利用SpannableStringBuilder设置TextView中部分文字的颜色
*
* 注意事项: mSpannableStringBuilder.setSpan (new
* ForegroundColorSpan(Color.RED), 1, 3,
* Spannable.SPAN_EXCLUSIVE_INCLUSIVE); 第一个参数:颜色 第二个参数:开始位置 第三个参数:终止位置
* 第三个参数:SPAN_EXCLUSIVE_INCLUSIVE.用来对第二个和第三个参数进一步限制和说明
* 此处表示不包含1,但是包含3.从字面意思也很好理解
*/
mTextView = (TextView) findViewById(R.id.Textview1);
String str = " Hello everyone!";
SpannableStringBuilder mSpannableStringBuilder = new SpannableStringBuilder(
str);
mSpannableStringBuilder.setSpan(new ForegroundColorSpan(Color.RED), 1,
3, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
mSpannableStringBuilder.setSpan(new ForegroundColorSpan(Color.GREEN),
5, 9, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
// Drawable drawable =
// getResources().getDrawable(R.drawable.ic_launcher);
ImageSpan span = new ImageSpan(MainActivity.this,
R.drawable.ic_launcher);
mSpannableStringBuilder.setSpan(span, 6, 7,Spanned.SPAN_INCLUSIVE_INCLUSIVE);
mTextView.setText(mSpannableStringBuilder);
}
}