簡體   English   中英

什么是 textview.setTextSize()?

[英]What is textview.setTextSize()?

在我的 android 游戲中,有一個 textview。我使用以下代碼設置文本大小。

textview.setTextSize(30);

30以像素為單位。 但它到底是什么? 它是字符的高度還是寬度? 是序號嗎?

要在 android(java 或 kotlin)中設置文本大小,只需使用 SP

textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);

setTextSize(30) - 它根據設備上的一個像素尺寸設置文本的字體大小,並且由於不同的設備具有不同的像素大小,根據它們的屏幕大小和結果,最終的字體大小在設備上看起來會有很大不同。

要管理字體大小,您應該使用“sp”。 例如:textview.setTextSize(20sp)。 “sp”是與比例無關的像素,android 文檔鼓勵將其用於管理不同屏幕尺寸上的文本。

可以在此處找到有關如何計算 sp 的更多信息

@Rasoul Miri 的答案適用於 Java,因為 Java 確實對數字進行了類型提升。

另一方面,Kotlin 不會動一動手指,只會迂腐地嘮叨你:

The integer literal does not conform to the expected type Float

因此,請務必通過 : .toFloat()調用請求它為您進行顯式轉換。

所以,@Rasoul 的例子就變成了。

textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14.toFloat());

注意:本可以將此作為編輯添加到@Rasoul 的答案中,但 StackOverflow 說 TheSuggested The suggested Edit queue is full

暫無
暫無

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

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