From: http://www.r-base.net/archives/442
In Android UI development, if you use XML to configure layout, we can easily implement compatibility issues with different resolutions (using dip units ). however, if you cannot use XML to configure layout in a game, it will be a lot of trouble if we are compatible with different resolutions. some coordinate calculations can also change the units of dip to pixels. when I was developing a hamster game, I found that the text was hard to calculate the width. After a period of online searching, I finally found a solution.
1234567 |
// Calculate the text length (in pixels) in the textview)Public Static FloatGettextviewlength (textview,StringText) {textpaint paint = textview. getpaint ();// Obtain the number of pixels when you use the paint to write text. FloatTextlength = paint. measuretext (text );ReturnTextlength ;} |
After we get the pixel of the text through the above code, we can use some algorithms to calculate the dip unit value of the text.
For details about the conversion method between DIP (DP) and PX, refer to another blog.
Unit conversion between DIP (DP) and PX in Android