我可以在Android中使用XML变量吗?

tom*_*ofv 6 xml android

而不是为每个textview使用以下行:

android:textSize="40sp"
Run Code Online (Sandbox Code Playgroud)

我能用变量替换40sp吗?

作为一个附带问题,我建议使用SP单位,因为它按用户定义的设置.这是最佳做法吗?

Com*_*are 6

我能用变量替换40sp吗?

您既可以使用维度资源(例如android:textSize="@dimen/someSize"),也可以使用执行此操作的样式(根据AlexN的答案),或者在运行时通过设置大小setTextSize().

我建议使用SP单位,因为它按用户定义的设置.这是最佳做法吗?

在较新版本的Android上,用户可以通过"设置"应用程序更改基本字体大小.通过使用sp单位,您的字体大小将与基本字体大小一起缩放.如果您使用其他单位(例如dp),无论用户在"设置"中拥有什么,您的字体大小都将保持不变.不可能说任何给定的使用是否sp是"最佳实践" - 我确信有些情况下允许改变字体大小将是一件坏事.但是,默认情况下,sp可能是正确的起点.