2015-11-05 4 views
0

У меня есть текстовое представление в моем приложении, которое меняет размер слова при нажатии на него, моя проблема в том, что если я нажму это слово, то он станет больше, если я нажму его снова размер становится двойной. Мне нужно сделать это меньше во втором щелчке, проверив размер текста этого spannable word, прежде чем сделать его больше.android textView и spannable получить размер слова

private ClickableSpan getClickableSpan(final String word,final int start, final int end) { 
    return new ClickableSpan() { 
     final String mWord; 
     { 
      mWord = word; 
     } 

     @Override 
     public void onClick(View widget) { 

      TextView tv = (TextView) widget; 
      // TODO add check if tv.getText() instanceof Spanned 
      Spanned s = (Spanned) tv.getText(); 

      int start = s.getSpanStart(this); 
      int end = s.getSpanEnd(this); 
      Log.d("Sd", "onClick [" + s.subSequence(start, end) + "]"); 
      spans.setSpan(new RelativeSizeSpan(3f), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);//check the size before make it bigger how to do so?? 

      Toast.makeText(widget.getContext(), s.subSequence(start, end), Toast.LENGTH_SHORT) 
     .show(); 
     } 
      @Override 
     public void updateDrawState(TextPaint ds) { 
      super.updateDrawState(ds); 
      ds.setUnderlineText(false); 
      ds.setColor(Color.WHITE); 

     } 
    }; 
} 

ответ

2

Я бы использовал простой булевский isBig и проверил его.

if (isBig) { 
     // make textview smaller 
     isBig = false; 
    } else { 
     // make textview bigger 
     isBig = true; 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^