Есть ли способ скрыть текст в TextView? - PullRequest
9 голосов
/ 11 июля 2011

Есть ли способ скрыть часть (но не весь) текста в TextView?Я попытался установить размер 0 с AbsoluteSizeSpan, но это не имеет никакого визуального эффекта, который я вижу.(Вы можете установить размер равным 1, и вы по сути получите неровные строки вместо читаемого текста. Милый, но не совсем то, что мне нужно.)

Под скрытностью я имею в виду уходить, не быть видимым ине занимать места.Рисование текста того же цвета, что и фона, - это не то, что я ищу.

Я понимаю, что могу просто заменить текст в TextView только тем текстом, который хочу отобразить, но я ужеиспользование span-ов для создания более динамического стиля, и что-то вроде HiddenSpan было бы полезно.Это существует?

Ответы [ 6 ]

8 голосов
/ 07 сентября 2011

Я думаю, что вы ищете: TextView.setVisibility(View.GONE)

6 голосов
/ 13 марта 2014

Попробуйте по этому коду:

У меня есть полный код этого кода ..

<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);

ИЛИ

  txtView.setVisibility(View.GONE);

Может быть, это поможет вам

3 голосов
/ 04 июня 2012

Я только что столкнулся с этой проблемой и написал следующий класс:

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, когда я устанавливаю интервал для расширения после новой строки.Я хотел бы услышать, если кто-нибудь может понять это.

1 голос
/ 07 сентября 2011
<TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textSize="0sp"
  android:textColor="@android:color/transparent" />

Прозрачный цвет текста скрывает видимость текста.Добавьте к этому textSize, чтобы удалить или минимизировать занимаемое пространство.

0 голосов
/ 18 марта 2013

Не уверен, что вы все еще ищете ответ на этот вопрос, так как он очень старый, но я нашел его, когда искал что-то, и подумал, что смогу помочь. Вы пытались установить одну кнопку на клавиатуре или аппаратную кнопку для переключения между видимым TextView и скрытым. Вам придется поиграть с копированием текста из видимого в скрытое, если вы хотите сохранить видимое как часть скрытого. Если вы хотите, чтобы скрытый текст представлял собой собственный текст, это будет простым решением.

0 голосов
/ 05 ноября 2012

только что была эта проблема.По сути, вы просто отображаете часть строки, используя подстроку или что-то еще, и если вы нажимаете на текстовое представление, вы устанавливаете для него полный текст.

Надеюсь, что это может помочь кому-то пройти эту тему.(Может скопировать вставить фрагмент кода, если требуется).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...