2011-07-11 10 views
9

TextViewの一部のテキストを非表示にする方法はありますか?私はAbsoluteSizeSpanで0にサイズを設定しようとしましたが、それは私が見る視覚効果はありません。 (あなたはサイズを1に設定することができますが、読みやすいテキストではなくむしろぼんやりした線になります)かわいいですが、私が後にしているものではありません)TextViewにテキストを隠す方法はありますか?

隠すと、 。背景と同じ色のテキストを描くことは、私が探しているものではありません。

TextViewのテキストを表示したいテキストだけに置き換えることができますが、私はすでにスパンを使ってよりダイナミックなスタイリングを行っています.HiddenSpanのようなものが役に立ちます。それは存在しますか?

+0

助けることができますか?ただの可視性? – AlfredoVR

+0

明確にするために編集されました - 表示されず、スペースを占有しません。 –

+0

いくつかのコンテキストが役に立つかもしれません - あなたがテキストを何にしたいのかをsetTextだけではない理由がありますか? – CrackerJack9

答えて

1
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="0sp" 
    android:textColor="@android:color/transparent" /> 

透明なテキストの色がテキストの表示を隠す。それにかかるスペースを取り除くか最小限に抑えるためにtextSizeを追加します。

+0

これを試しても効果がありますか?テキストサイズを0にしようとすると、テキストはデフォルトサイズのままになりました。テキストサイズが1の場合は、背景と同じ色でもスペースを取るため、テキストサイズは1になりません。 (また、あなたのXMLは、コントロール内のすべてのテキストに適用されるので、問題は解決しません。テキストの一部ではありません) –

9

私は、あなたが探していると思う:TextView.setVisibility(View.GONE)

+1

これはコントロールを非表示にしますが、問題はコントロール内のテキストの一部を隠すことですコントロール - 彼らは同じものではありません。 –

+0

setText()を非表示にするテキストなし – CrackerJack9

3

私はこの問題を抱えていたし、次のクラスを書いた:唯一の段落内に動作するようです

public class NoDisplaySpan extends ReplacementSpan { 

    public NoDisplaySpan() {} 

    @Override 
    public void draw(Canvas arg0, CharSequence arg1, int arg2, int arg3, 
      float arg4, int arg5, int arg6, int arg7, Paint arg8) {} 

    @Override 
    public int getSize(Paint paint, CharSequence text, int start, int end, 
      FontMetricsInt fm) { 
     return 0; 
    } 
} 

を。私は、改行を越えてスパンを設定すると、ArrayIndexOutofBoundsExceptionがスローされます。誰かがそれを理解できるかどうか聞いてみたい。

0

この問題が発生しました。基本的には、部分文字列を使用して文字列の一部を表示するだけです。テキストビューをクリックすると、フルテキストが設定されます。

そのトピックを通過している人を助けることを願っています。 (必要に応じて、コードのスニペットを貼り付けることができます)。

+0

コードサンプルを貼り付けてください。 –

+0

これは@ CrackerJack9のコメントと重複しています。 AFAIK、答えはまだ "これは不可能です。" (はい、あなたが表示しているテキストを変更することはできますが、これは質問に関するものではありません。) –

0

非常に古いので、これに対する回答をまだ探しているのかどうかはわかりませんが、何か探しているうちに見つけて助けてくれると思っていました。表示されているTextViewと隠れたものを切り替えるために、キーボードまたはハードウェアボタンのボタンを1つ設定してみましたか?あなたは、隠された部分の一部として可視を維持したい場合には、可視から隠しにテキストをコピーすることで遊ぶ必要があります。隠されたテキストを独自のテキストにしたい場合、これは簡単な解決策になります。

6

このコードで試してみてください。

私はこのコードによって、完全なを持っている...

<TextView 
android:id="@+id/tvi" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:visibility="invisible" 

または

android:visibility="gone" 
/> 

またはコードによって: -

TextView txtView = (TextView)findViewById(R.id.tvi); 
    txtView.setVisibility(View.INVISIBLE); 

OR

txtView.setVisibility(View.GONE); 

が、これは、あなたがこのような状況の中に隠さ定義するにはどうすればよいあなた

関連する問題