2016-03-04 1 views
1

Я использую шрифт в своем текстовом виде, и все выглядит хорошо. Теперь я хочу установить панель поиска, которая поможет пользователю отрегулировать размер текста под текстовым представлением.Как получить размер шрифта, установленный в Textview

Я только что использовал поисковый барабан и играл с ним. это то, как я использую мой SeekBar, чтобы сделать текст больше

/// SeekBar Progress 

    sk.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
     int p=0; 


     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 
      // TODO Auto-generated method stub 
      if(p<30) 
      { 
       p=30; 
       sk.setProgress(p); 
      } 
     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 
      // TODO Auto-generated method stub 
     } 

     @Override 
     public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) { 
      // TODO Auto-generated method stub 
      p=progress; 
      myTextView.setTextSize(p); 
     } 
    }); 

это работает и изменение размера текста в текстовом виде, но теперь возникает проблема:

Проблема:

Проблема в том, что размер увеличивается и уменьшается также, когда мы берем строку поиска слева от ее средней точки. где, как я хочу установить минимальное и максимальное значение. Поэтому для установки минимума и максимума мне нужно получить размер текста внутри текстового представления. и я не нашел способа получить текст так, как например myTextview.getTextSize(), такого метода нет.

Позвольте мне сказать, что я устанавливаю размер текстового вида из файла dimens в папке различных значений для поддержки всего устройства и чтобы мой текст выглядел хорошо на планшетах и ​​небольших устройствах.

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

+0

Хм, как вы имеете в виду не существует такой метод, как 'TextView.getTextSize()', посмотрите на [что] (http://developer.android.com/reference/android /widget/TextView.html#getTextSize%28%29) :) – flyingAssistant

ответ

1

попробовать это

text_one.setText("your text"); 
text_one.measure(0, 0);  //must call measure! 
text_one.getMeasuredHeight(); //get height 
text_one.getMeasuredWidth(); 
1

Существует TextView.getTextSize(). Вы также можете пойти TextView.getPaint().getTextSize().

1

Проверьте, что ваш myTextView действительно TextView, а не только View, когда вы его инициализируете. например

TextView myTextView = (TextView) findViewById(yourTextViewId); 
0

Я думаю, что самый простой ответ

myTextView.getTextSize(); 

На самом деле я бросала мое значение неправильно. и теперь он решен. после выполнения этого

float size = myTextView.getTextSize(); 
+0

Вы ссылаетесь на тип 'size', который используете неправильно? – Elye

+0

да ................. –

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