android - Android 中 dip/dp 的多屏幕支持?

标签 android android-layout android-screen-support multiscreen

假设我在 XML 文件中将按钮或 TextView 的宽度定义为 100 dip,将高度定义为 30 dip。据我所知,Android 本身负责按我在 dip 中定义的尺寸在 ldpi、mdpi 或 hdpi 设备中按比例或相同的方式处理按钮或 TextView 外观。如果您想提供多屏幕支持,这是建议之一。我的问题是 dip 是否仅在处理具有相同宽度和高度的 ldpi、mdpi 或 hdpi 设备时有用,这意味着所有 320X480 或所有 400X840 都是这样,或者它是否也支持跨多屏幕尺寸意味着如果我定义一个对于 320X480 设备具有 100X30 dip 的按钮,在 list 文件中添加所有屏幕支持 true 后,android 系统它自己将重新计算小部件大小到一些 200X60 dip 到 700X1024 设备。

如果 dip 不能在多种屏幕尺寸下工作(如果设备的物理尺寸不同),那么我需要为每个无法定义复杂布局的设备编写单独的布局文件带有一些权重的线性布局,如果我错了请纠正我。有没有其他选择,建议我。提前致谢。

最佳答案

dip 是“与密度无关”的,因此这些度量单位与密度而非屏幕尺寸相关。例如,有 10 英寸的平板电脑仍然是 mdpi,当然,在小型 mdpi 手机上看起来不错的布局在这些设备上看起来会很糟糕。这里的解决方法是在这种情况下使用维度值并覆盖它们。现在,您将使用 @dimen/dip_10,而不是在您的 XML 中使用例如 10dip,这将具有values/mdpivalues/xlarge-mdpi 中的不同值。希望这对您有所帮助。

关于android - Android 中 dip/dp 的多屏幕支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12938817/

相关文章:

android - 将 native 应用程序与 Worklight 项目相结合

java - 折线颜色不变

Android 布局 - 创建比 sw320、sw480 sw600 sw720 尺寸更多的布局文件夹是否合理?

android - 支持多屏幕的最佳方式? - 安卓

java - 改变 constraint.Group 中元素的可见性

php - 向特定用户发送推送通知

Android 启动画面中心图像

Android,如何正确制作透明状态栏

android - XXHDPI 布局在不同的 XXHDPI 设备上不同