我有一个textView,我不希望打印文本,我想自己绘制并隐藏打印文本。 如何隐藏印刷文字?
编辑:解释这个问题似乎没有人得到它。 TextView的文本将自动打印(因为它是一个textView),但问题是我已经在绘制文本了,我当然不希望出现2个版本的文本(我绘制的版本和自动印刷版) 我想要隐藏文本的自动打印版本,但保留我绘制的文本。public class myTextView扩展TextView {
@Override protected void onDraw(Canvas canvas) { //drawing my text here with the current text... }
}
答案 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);