android - 如何计算字符串的宽度

标签 android

<分区>

Possible Duplicate:
How to get string width on Android?

我使用下面的代码来计算字符串的宽度,但是结果的宽度与TextView中显示的宽度有很大的不同。我怎样才能正确地做到这一点?感谢您的建议。

Paint paint= new Paint(); 
        paint.setTextSize(size);


        int iRet = 0;  
        if (str != null && str.length() > 0) {  
                int len = str.length();  
                float[] widths = new float[len];  
                paint.getTextWidths(str, widths);  
                for (int j = 0; j < len; j++) {  
                    iRet += (int) Math.ceil(widths[j]);  
                }  
        }  
        return iRet;

最佳答案

我想试试这个字符串的宽度代码

float width = paint.measureText(string);

关于android - 如何计算字符串的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13171927/

相关文章:

android - 无法解析非 fragment 类中的 getSupportFragmentManager

java - 如果未输入,则从 URL 获取协议(protocol)

android - 在通话android期间改变声音

java - Android 上的相互身份验证失败 w/javax.net.ssl.SSLHandshakeException : Handshake failed

android - 使用 MVP 处理 onActivityResult 中接收到的数据

java - CheckedTextView 错误 :android. content.res.Resources$NotFoundException:资源 ID #0x0

安卓NDK : Compiling different libraries for different architectures

android - LifecycleRegistryOwner 类已弃用

android - 如何在Android上访问/data/app,/proc以获取普通App

android - 如何将自定义字体嵌入到 Android 应用程序 (WebView)