根据dpi和分辨率缩放TextView大小
问题描述:
如何选择文本大小以使其在每个设备上看起来都一样?我觉得这是一个不可能完成的任务,可能你会说我应该为每个dpi制作不同的值,但这并不能解决问题,因为存在具有相同dpi但具有不同屏幕分辨率的手机,并且最终它不会看起来不一样。任何人都可以帮助我吗?根据dpi和分辨率缩放TextView大小
答
Android指南建议使用SP尺寸文本:http://developer.android.com/training/multiscreen/screendensities.html
的SP尺寸取决于屏幕密度,而且用户的喜好。比方说,用户将手机配置为大字体(例如视觉问题),您的应用程序将可供该用户使用。
在实践中它看起来像这样:textSize="16sp"
答
如果你坚持有每个设备上相同的外观,你可以在不同的设备管理的一些细节。看网页Display class和WindowManager。以下是我用于某个UI元素的示例代码:
Display display = getActivity().getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
祝您好运。管理所有图形并不容易。
+0
使用重量嵌套LinearLayouts使其对文本内容除外大小,这对我来说是最难的部分。我会试试这个,谢谢。 – Greyshack 2015-02-24 08:12:37
它根本没有帮助。 – Greyshack 2015-02-23 19:22:22
你所要做的是违背最佳实践。我会建议重新考虑它。但是,如果你仍然想这样做,看看这里如何获得屏幕大小http://*.com/questions/1016896/get-screen-dimensions-in-pixels一旦你有屏幕的大小,你可以很容易将它计算为在不同密度/屏幕分辨率下为所有字体计算“相同”尺寸。 – Quanturium 2015-02-23 19:27:20
这是为什么违反最佳做法? – Greyshack 2015-02-23 19:36:20