簡體   English   中英

如何在Android中自動調整textSize?

[英]how do I automatically adjust textSize in android?

我正在編寫一個應用程序,其中的一部分顯示一行文本。 在某些情況下,該行文本將占用多行。 問題是我只希望它占用一行,而當我在java或xml中將其設置為僅占用一行時,文本就會被截斷。 我將如何使其自動調整文本的字體大小,使其僅占用一行而不被截斷?

將比例與Paint.measureText()一起使用:

(文字大小/ measureText寬度)=(perfectSize / screenWidth)

解決最佳文本大小:

perfectSize = (text size / measureText width) * screenWidth;

您可以使用Display類中的getWindowManager().getDefaultDisplay().getWidth()找到屏幕寬度。

變成了數學題!

如果使用Paint#measureText,這並不是很難做到的。

基本上,您將從字體高度小於TextView的高度開始,然后遍歷(或進行二進制搜索)各種大小的字體,直到找到尺寸小於TextView寬度的字體。

它需要一些實現,因為框架沒有提供“自動”方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM