If I assign an integer value to change a certain text size of a TextView using java code, the value is interpreted as pixel (px). Now does anyone know how to assign it in sp?
相关问题
- How can I create this custom Bottom Navigation on
- Bottom Navigation View gets Shrink Down
- How to make that the snackbar action button be sho
- Listening to outgoing sms not working android
- How to create Circular view on android wear?
相关文章
- android开发 怎么把图片放入drawable的文件夹下
- android上如何获取/storage/emulated/下的文件列表
- androidStudio有个箭头不认识
- SQLite不能创建表
- Windows - Android SDK manager not listing any plat
- Animate Recycler View grid when number of columns
- Why is the app closing suddenly without showing an
- Android OverlayItem.setMarker(): Change the marker
This is code for the convert PX to SP format. 100% Works
In case if anyone is looking for Kotlin way, you can do
When the accepted answer doesn't work (for example when dealing with Paint) you can use:
You can use a
DisplayMetrics
object to help convert between pixels and scaled pixels with thescaledDensity
attribute.Based on the the source code of
setTextSize
:I build this function for calulating any demension to pixels:
Where unit is something like
TypedValue.COMPLEX_UNIT_SP
.http://developer.android.com/reference/android/widget/TextView.html#setTextSize%28int,%20float%29
Example: