2013-11-02 4 views
0

У меня есть String text = "Some text".Android: как получить высоту текста

Теперь мне нужно знать, какой будет высота текста, если я поместил его в TextView, например, width = x dp и height = y dp.

Например, в прошивке я могу сделать так:

CGSize size = [self.text sizeWithFont:[UIFont fontWithName:fontName size:fontSize] 
         constrainedToSize:CGSizeMake(100, 10000) 
          lineBreakMode:0]; 

Paint.getTextBounds() не будет работать здесь, потому что не будет тормозить текст линии.

+0

Вы хотите, чтобы получить высоту текста, после установки текста в TextView с заданной высотой? – MartinHaTh

+0

На самом деле, прежде чем я установлю его на текстовый вид – Jim

+0

Мне нужно подсчитать высоту текста, тогда я буду знать, какая высота текстового представления должна быть – Jim

ответ

0

Если вы явно установить высоту TextView к у дп тогда высота TextView в пикселях будет Math.round(y * density) http://developer.android.com/reference/android/util/DisplayMetrics.html#density

Если TextView было измерено/выкладывается затем getMeasuredHeight() можно использовать, чтобы получить высота просмотра.

Paint также имеет ряд методов для запроса о текстовых свойствах

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