【问题标题】:Support different resolution, but on the same screen size支持不同的分辨率,但在相同的屏幕尺寸上
【发布时间】:2018-07-16 20:09:03
【问题描述】:

相同的屏幕尺寸,例如 10' 可以有不同的分辨率:1280x800 和 2560x1800。这样,两个设备都适合sw720 并从dimens-sw720 文件夹中获取dimens,但是这样视图要么在较小的设备上太大而在较大的设备上正常,要么在小型设备上也正常在更大的设备上很小。如何让应用程序区分两个屏幕,以便它们使用不同的dimens?如果使用xlarge-mdpixlarge-xhdpi 而不是sw-720,这会破坏我这里的5.5' 设备的视图(不确定是否所有5.5' 设备都会出现这种情况)。

我已经花了很多时间在这里寻找答案,重新阅读文档并咨询其他开发人员,但到目前为止没有人能给我答案。这里的答案之一是如果屏幕尺寸相同,但分辨率不同并且我使用了dp,则两种设备上的视图都应该没问题,但这里的情况并非如此。这些是我遇到的问题,并按照每个相关问题向他们提问:Q1Q2Q3Q4 和 ofc the main documentation link,其中包含指向有关支持不同屏幕分辨率的更详细信息的链接。我在这里遗漏了什么吗?

【问题讨论】:

    标签: android screen-resolution android-screen-support


    【解决方案1】:

    我在 6 个月前也遇到过这个问题。我最终得到了这个sdp library。这个库让应用程序对所有屏幕都做出响应变得非常简单。

    你要做的就是使用_10sdp而不是10dp。就是这样!

    将此库添加到您的gradle

    dependencies {
      implementation 'com.intuit.sdp:sdp-android:1.0.5'
    }
    

    【讨论】:

    • 我一定会试一试的。感谢您的快速响应!
    • 没用的库,用ConstrainLayout就能轻松搞定
    • 我仍然不使用约束布局。因为LinearLayout更可控。
    • 对于拥有数百个布局的旧项目,最好的方法是什么? 1> 将布局转换为约束或 2> 只需将 dimen.xml 中的 dp 更改为 sdp
    • 您更喜欢 LinearLayout 而不是 ConstraintLayout,因为这对您来说很难,而且您从不“将图像保存在特定文件夹中”,而是使用奇怪的库 - 哈哈,好吧,这是您的决定
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多