Android:隐藏自定义TextView的文本

时间:2013-08-26 19:41:44

标签: android user-interface view textview

我有一个textView,我不希望打印文本,我想自己绘制并隐藏打印文本。 如何隐藏印刷文字?

编辑:解释这个问题似乎没有人得到它。 TextView的文本将自动打印(因为它是一个textView),但问题是我已经在绘制文本了,我当然不希望出现2个版本的文本(我绘制的版本和自动印刷版) 我想要隐藏文本的自动打印版本,但保留我绘制的文本。

  

public class myTextView扩展TextView {

  @Override
  protected void onDraw(Canvas canvas) { 
     //drawing my text here with the current text...      
  }
     

}

2 个答案:

答案 0 :(得分:0)

如何设置TextView的可见性

TextView.setVisibility(View.VISIBLE);

TextView.setVisibility(View.INVISIBLE);
TextView.setVisibility(View.GONE);

或将其文字设为“”。

TextView.setText("");
TextView.setText("yourtext");

此外,您可以像这样初始化TextView:

TextView tv = new TextView(this);
tv.setText("yourtext"); // this will not draw the textview yet, it will not be visible

将TextView添加到Layout后,它将调用其onDraw()方法:

LinearLayout ll = (LinearLayout) findViewById(R.id.llTv);
ll.addView(tv); // now the textview that we initialized before will be "visible"

<强>更新

如果您使用的是自定义TextView,请尝试调用:

Canvas.drawColor(Color.BLACK); // or whatever color you want your textview to be cleared with

清除画布(在onDraw()方法内),然后打印文字。

您可以通过绘制背景颜色来清除画布,然后绘制所需的文本。

答案 1 :(得分:0)

对于要隐藏的文本版本,只需将其设置为黑色

tv.setText("");TextView.setVisibility(View.INVISIBLE);

然后重新设置tv.setText("text");TextView.setVisibility(View.VISIBLE);