我是iOS和Android开发,我想通过高度大小调整字体大小。我在iOS(Swift)的文字大小没有问题。下面是我使用的代码
let textsize = UILabel()
textsize .font = UIFont (name: "Arial", size: view.frame.height * 0.3)
这是很好的工作,但Android......我有测试三星Tab A和Nexus S,所以我注意到两者都是HDPI,但字体在桌子上是薄的,但Nexus S的字体是巨大的。
我试过用下面的高度来调整字体大小
android:textSize="match_parent * 0.3"
但是安卓系统不允许我像在Swift中那样做数学运算。我不知道为什么字体大小相差很大,但我对LinearLayout、按钮等都没有问题,但为什么字体大小相差很大呢????
很简单,在Android中,你不能像这样在XML中计算。
我不知道你为什么要设置文本大小 "match_parent * 0.3",但也许这个可以帮助你。
这可能像宽度 - "match_parent * 0.3"
fun TextView.setSizeW() {
val w = Resources.getSystem().displayMetrics.widthPixels
this.textSize = w * 0.3f
}
而这个高度 - "match_parent * 0.3"。
fun TextView.setSizeH() {
val h = Resources.getSystem().displayMetrics.heightPixels
this.textSize = h * 0.3f
}
这是在Kotlin中,你可以在Java中做同样的事情。
编码愉快!
试着将文本大小设置为你的文本视图,就像下面的布局一样。
android:textSize="16sp"