2

重複の可能性:
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;
4

2 に答える 2

5

文字列の幅についてこのコードを試してみると思います

float width = paint.measureText(string);
于 2012-11-01T06:22:19.533 に答える
4

このコードを試してみてください。お役に立てば幸いです..

Paint paint= new Paint(); 
paint.setTextSize(size);
int txtWidth = (int)(paint.measureText("Hello how are you?"));
于 2012-11-01T06:20:45.250 に答える