在Android中,当我测量时,使用DP或其他方法是否明智?我害怕dp可能会随着设备的不同而变化,而且除了我的手机以外,我的应用程序看起来都很糟糕。使用“dp”而不是其他的方法是明智的吗?
0
A
回答
0
你应该总是使用dp。如果你需要在像素值,你可以使用此方法 -
public static int dpToPixels(Context context, float dp) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dp * scale + 0.5f);
}
0
总是使用浸
密度独立的像素
0
如果你看一下reference文档,你会看到这是DP点。具体来说,
密度独立像素相当于160 dpi屏幕上的一个物理像素,它是系统为“中等”密度屏幕假设的基准密度。在运行时,系统根据使用的屏幕的实际密度,根据需要透明地处理dp单位的任何缩放比例。将dp单位转换为屏幕像素很简单:px = dp *(dpi/160)。例如,在240 dpi屏幕上,1 dp等于1.5个物理像素。定义应用程序的用户界面时,应始终使用dp单位,以确保在不同密度的屏幕上正确显示您的用户界面。
所以,除非你想限制在一个单一的屏幕大小和密度,否则总是使用dp。
0
卡西姆,dp或dip是为了防止你害怕什么而发明的。看看这篇文章:http://developer.android.com/guide/practices/screens_support.html,以及这个其他问题:What is the difference between "px", "dp", "dip" and "sp" on Android?
0
除了dp
,您还可以使用pt
(一英寸的点= 1/72),in
(英寸)和mm
(毫米)。
由于所有这些单位都基于实际的物理尺寸,所以您的UI元素将在任何设备上保持相同的物理尺寸。
相关问题
- 1. 修改其他包中的函数类是不明智的吗?
- 2. 使用XCode 2.5而不是3.x/4.x是不明智的?
- 3. 对于限制<100的循环,使用'short'而不是'int'是明智吗?
- 4. 内容明智而不是页面明智的PDF比较库
- 5. 我的方法是明智地退出Android应用程序吗?
- 6. 为什么使用卷曲而不是其他方法?
- 7. 我们可以调用MainActivity中的同一类中声明的方法,而不是在android studio中的onCreate或其他方法中声明的方法吗?
- 8. ssl还是有其他方法吗?
- 9. 保存一些NSManagedObjects而不是其他的方法?
- 10. Wordpress CMS可以使用其他DBMS而不是MySQL吗?
- 11. 其他方式使开始菜单,而不是使用按钮
- 12. 使用所有静态方法而不是其他“服务”类的缺点?
- 13. 如何构建明智的数据框架而不是明智的列?
- 14. PHP调用其他类中的方法是不是
- 15. 我应该聚合吗?这是一个明智的做法吗?
- 16. Exec函数适用于一种方法,而不是其他方法
- 17. 其他调用dispatchEvents而不使用xml架构的方法Flex
- 18. forwardInvocation而不是实例的其他类
- 19. Ember Resource URL:如何使其使用其他值而不是ID?
- 20. 在asp.net中使用SMTP.SendAsync是明智的
- 21. 在ASP.net中使用静态方法进行安全验证是不明智的?
- 22. 在foreach循环中调用方法和嵌套循环是明智的吗?
- 23. 这是正确的吗?使用performSelector而不是只调用该方法直接
- 24. 为什么不使用sp而不是dp?
- 25. 为什么重写equals而不是使用其他方法名称
- 26. “RequestVar”的方法名称“is”是其他单词的简称吗?
- 27. 经常在代码中使用标志是明智的吗?
- 28. 使用LINQ替换循环是明智的吗?
- 29. 在单人git项目中使用分支是明智的吗?
- 30. 在这种情况下使用委托是明智的吗?