对相同尺寸使用 dp 不适用于不同分辨率但相同尺寸的不同手机

Using dp for same dimension is not working for different phones of different resolutions but same dimention

我正在开发一款必须支持所有尺寸的应用程序。由于 1920x1080 比 480x800 宽,我无法同时为横向视图提供两者的最佳匹配。它们位于同一维度下的位置。纵向视图没有问题,因为它在纵向视图上确实有很小的差异,但是当将其转换为横向视图时,整个内容都不会出现在屏幕上。

这是 1920x1080 的视图。

这是 480x800 的视图

这两种尺寸都从 layout-sw320dp-land

访问它们的 xml 文件

我只在 layout-sw320dp 屏幕的 hdp 屏幕上遇到这个问题,因为它有一个非常小的 space 可以使用。对于更大的屏幕尺寸没有这样的问题,因为我们有足够的 space 来装饰。

谁能帮我解决这个问题?

我们对这个问题有很多问题和答案,但我无法找到完美的解决方案。

提前致谢。

如果问题只发生在这个屏幕上,请考虑使用带权重的 LinearLayout,这将为您提供独立于屏幕尺寸或分辨率的响应式设计 - 相反,它将按百分比呈现,使视图采用相同的百分比屏幕的大小,无论屏幕尺寸是多少。
附件是加权屏幕的 XML 示例。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="90"
        android:orientation="horizontal" >

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="90"
            android:background="#8000ff00"
            android:orientation="vertical" >

            <!-- This is the green view -->
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="10"
            android:background="#80ff0000"
            android:orientation="vertical" >
            <!-- This is the red view -->
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="10"
        android:background="#800000ff" >

        <!-- This is the bottom blue view -->
    </LinearLayout>

</LinearLayout>

这对我来说非常有用。 layout-sw320dp-land-hdpilayout-sw320dpi-land-xhdpi