2011-12-04 44 views
0

如果我是初始化油漆,並設置它的文字大小,像這樣:可以setTextSize()密度獨立嗎?

Paint = new Paint(); 
Paint.setAntiAlias(true); 
Paint.setARGB(255, 255, 0, 0); 
Paint.setTextSize(screenWidth/100); 

//screenWidth is the width of the screen in pixels given via display metrics. 

,然後繪製文本到畫布上,像這樣:

String text = "Hello" 
canvas.drawText(text, (screenWidth/13), (screenHeight/5), Paint); 

會文在同一顯示了相對點相同的相對大小,而不考慮屏幕度量標準?我問,因爲我只有1個設備,而且仿真器在我的多核機器上運行得不好。

我一直在做的事情,直到這一點是簡單地使用位圖與文字寫在背景上,但我的內存使用情況變得相當沉重,所以我打算減少加載的位圖數量。

我的另一種選擇是將文本保存爲具有透明背景的位圖,並將其覆蓋在單個位圖背景上。但這似乎只有一半的生產率,因爲它實際上創建了1個位圖,只是減少了所有存儲位圖的總大小。我也不喜歡這個想法,因爲我最終想要更多地控制對象的生命週期,這會使效果變差。

此外,是否有任何方法向文本添加樣式(例如除了使用預製Drawables之外的複雜字體和顏色模式),以便文本可以繪製到畫布上? (儘可能便宜)

回答

0

NVM,解決了整天圍繞我解決DP單元可以從res文件夾中調用,並會給文本相當一致的位置。而且油漆不像我希望的那樣具有定製友好性。

相關問題