我的應用程序能夠準確測量字符串是至關重要的;我一直在使用Paint.measureText()
來做到這一點。不幸的是,在4.4中,這個方法被更改爲不再返回一個精確值,而是返回一個四捨五入的值。有人知道我可以使用另一種方法來精確測量文本,或有任何其他建議嗎?Android:在4.4中,Paint.measureText()不向後兼容。任何解決方法?
Android的源:
Android 17
return w*mInvCompatScaling;
Android 18
return (float) Math.ceil(w*mInvCompatScaling);
您可能可以使用反射來訪問mInvCompatScaling和native_measureText。 – njzk2
Yikes,這是一個非常重要的變化,真的感覺像一個問題:https://github.com/android/platform_frameworks_base/commit/8e04840f38a16f806754dfca3de50c2548e67913。您是否嘗試過通過反射調用'native_measureText',如njzk2所示? – CodingIntrigue
出於好奇,文字長度的亞像素測量的用例是什麼?也許還有其他的解決方案來解決你的大用例。 – CommonsWare