Android获取TextView显示的字符串宽度
发布时间:2020-12-15 03:21:31 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 public float getTextWidth(Context Context,String text,int textSize){TextPaint paint = new TextPaint();float scaledDensity = Context.getResou
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 public float getTextWidth(Context Context,String text,int textSize){ TextPaint paint = new TextPaint(); float scaledDensity = Context.getResource().getDisplayMetrics().scaledDensity; paint.setTextSize(scaledDensity * textSize); return paint.measureText(text); } public class MainActivity extends Activity { private final static String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 测试字符串 // 测试例子均用15sp的字体大小 String text = "测试中文"; TextView textView = (TextView) findViewById(R.id.test); textView.setText(text); int spec = MeasureSpec.makeMeasureSpec(0,MeasureSpec.UNSPECIFIED); textView.measure(spec,spec); // getMeasuredWidth int measuredWidth = textView.getMeasuredWidth(); // new textpaint measureText TextPaint newPaint = new TextPaint(); float textSize = getResources().getDisplayMetrics().scaledDensity * 15; newPaint.setTextSize(textSize); float newPaintWidth = newPaint.measureText(text); // textView getPaint measureText TextPaint textPaint = textView.getPaint(); float textPaintWidth = textPaint.measureText(text); Log.i(TAG,"测试字符串:" + text); Log.i(TAG,"getMeasuredWidth:" + measuredWidth); Log.i(TAG,"newPaint measureText:" + newPaintWidth); Log.i(TAG,"textView getPaint measureText:" + textPaintWidth); } }
来自:http://2kpurple.github.io/2014/11/02/get-text-view-text-width/???? 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |