2011-12-04 41 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文件夹中调用,并会给文本相当一致的位置。而且油漆不像我希望的那样具有定制友好性。

相关问题