當我將繪畫筆觸大小設置爲15時,它適合一個屏幕,而在另一個屏幕中它太大或太小,我如何知道屏幕密度讓它設置筆觸寬度以適應屏幕密度?Android:在不同的屏幕密度上繪製相同尺寸的線條或圓圈
我試圖用它的動態壁紙,一個服務,而不是一個應用程序,所以我不能使用get窗口管理器...
當我將繪畫筆觸大小設置爲15時,它適合一個屏幕,而在另一個屏幕中它太大或太小,我如何知道屏幕密度讓它設置筆觸寬度以適應屏幕密度?Android:在不同的屏幕密度上繪製相同尺寸的線條或圓圈
我試圖用它的動態壁紙,一個服務,而不是一個應用程序,所以我不能使用get窗口管理器...
我試圖用它的動態壁紙,一個服務,而不是一個應用程序,所以我不能使用get窗口管理器...
你的意思是活動。即使是動態壁紙服務仍然被定義爲應用程序內部的組件,但無論如何...
最好的方法是將您的維度放入資源中,讓資源框架爲您做數學運算。定義一個res/values/dimens.xml
文件看起來像這樣:
<resources>
<dimen android:name="strokeWidth">15dp</dimen>
</resources>
然後裏面你Service
您可以撥打:
Resources res = getResources();
float strokeWidth = res.getDimension(R.dimen.strokeWidth);
這將返回比例爲屏幕密度值,因爲尺寸在定義「 DP「單位。所以它將是15 @ MDPI,[email protected]等等。如果您希望返回值爲int
,您也可以使用getDimensionPixelOffset()
或getDimensionPixelSize()
。
我希望我也能接受這個答案,謝謝我也會使用它:) – 2012-07-11 21:58:28
是的,它的工作,有趣,我無法找到它自己..謝謝:) – 2012-07-11 21:48:18
任何時間!很高興我能幫上忙!隨時upvote :) – BlackHatSamurai 2012-07-11 21:50:05
我需要5更多的代表:/,我試過xD – 2012-07-11 21:57:47