1

textView があり、テキストを印刷したくないので、自分で描画して印刷されたテキストを非表示にしたい。印刷されたテキストを非表示にする方法は?

編集:誰もそれを理解していないように見えるので、質問を説明します。TextView のテキストは (textView であるため) 自動印刷されますが、問題は、既にテキストを描画していて、もちろんテキストの 2 つのバージョンを表示したくないことです (描画したバージョンと自動-印刷バージョン) 自動印刷バージョンのテキストを非表示にしたいが、描画したテキストは保持したい。

public class myTextView extends TextView {

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

}

4

3 に答える 3

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 をレイアウトに追加すると、その 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() メソッド内で) キャンバスをクリアしてから、テキストを印刷します。

背景の色を描画してキャンバスをクリアしてから、目的のテキストを描画できます。

于 2013-08-26T19:45:57.677 に答える