我正在制作一个应用程序,我需要 textView 来显示它发送到外部的 at 命令,并且还必须显示响应,
为了区分哪个是问题,哪个是答案,这就是为什么我需要根据它是离开还是进入设备来更改文本的颜色,默认情况下,答案在 xml 布局中配置为蓝色,使用此代码我尝试只更改红色的问题,但有错误,我无法得到我需要的
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_main );
mDumpTextView = (TextView) findViewById(R.id.tv1_ReadValues);
mTextoEditor1 = (EditText)findViewById( R.id.et1_WriteValues ) ;
mTextoEditor2 = (EditText)findViewById( R.id.et2_WriteValues ) ;
mBotonSend1 = (Button)findViewById( R.id.bt1_SendButton ) ;
mBotonSend2 = (Button)findViewById( R.id.bt2_SendButton ) ;
mBotonSend1.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mTextoEditor1.length() != 0x00){
String bufferTXD1 = mTextoEditor1.getText().toString() + "\r" + "\n";
mDumpTextView.append(bufferTXD1);
mTextoEditor1.setText( "" );
}
}
} );
mBotonSend2.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mTextoEditor2.length() != 0x00){
String bufferTXD2 = mTextoEditor2.getText().toString() + "\r" + "\n";
mDumpTextView.append(bufferTXD2);
nroBuffer = mDumpTextView.length();
nroChar = bufferTXD2.length();
starChar = nroBuffer - nroChar;
nroChar = nroChar - 2;
endChar = nroBuffer - nroChar;
SpannableStringBuilder builder = new SpannableStringBuilder();
SpannableString textColor = new SpannableString(bufferTXD2);
textColor.setSpan(new ForegroundColorSpan(Color.RED), starChar, endChar, 0);
builder.append(textColor);
mTextoEditor2.setText( "" );
}
}
} );
}
}
谁能告诉我怎么做,谢谢。
如果你想使用 SpannableString,你可以这样做,定义为使用红色(“#FF0000”)或蓝色(“#0000FF”);
肯定有什么错误,因为输入输出的文字出来的都是颜色(蓝色),连我都已经改成颜色了,红,绿,黄……总是蓝出来。
可以通过定义蓝色将蓝色的问号值添加到
<font>
html 容器中:在响应的情况下定义红色:
并且在您
TextView
的文本中显示时使用该方法Html.fromHtml(...)
,这样文本将以所需的颜色显示。如果你想使用SpannableString,你可以这样做,定义使用红色 (
"#FF0000"
) 或蓝色 ("#0000FF"
) ;查看此相关信息:
仅将 TextView 的颜色更改为某些字符
在 TextView 的一部分中加粗