因此,出于我的特殊原因,我需要确保String
(放置在 TextView 中)大小(以像素为单位)不超过设备的宽度大小(以像素为单位)。要获得我使用的屏幕宽度:
final float scale = context.getResources().getDisplayMetrics().density;
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
try{
Point size = new Point();
display.getSize(size);
screenWidth = size.x;
}catch(NoSuchMethodError e){
screenWidth = display.getWidth();
}
screenWidth = screenWidth - ((int) (10 * scale + 0.5f)); //takes into account a 10dp margin
并获得我使用的字符串的长度:
paint.measureText(string);
其中 string 是一个String
对象,而 paint 是一个Paint
对象。我面临的问题是:方法measureText
是说它String
小于屏幕的长度,即使它长得多。我忽略了什么吗?有没有更好的方法来做到这一点?任何帮助、建议或意见将不胜感激!谢谢!