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

时间:2016-03-26 15:32:26

标签: android responsive-design screen-orientation screen-resolution screen-size

我正在开发一款必须支持所有尺寸的应用。由于1920x1080宽于480x800,我无法同时为景观视图提供最佳选择。它们在同一维度下的位置。纵向视图没有问题,因为它在纵向视图上确实存在少量差异,但是当将其转换为横向视图时,整个事物不会出现在屏幕上。

这是1920x1080的观点。

enter image description here

这是480x800的视图

enter image description here

这两个尺寸都是从layout-sw320dp-land

访问他们的xml文件

我只是面对布局-sw320dp屏幕的hdp屏幕这个问题,因为它有一个非常小的空间可供使用。由于我们有足够的空间来装饰,因此屏幕尺寸越大越好。

有人可以帮我解决这个问题吗?

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

提前致谢。

2 个答案:

答案 0 :(得分:0)

如果仅在此屏幕中出现问题,请考虑使用带权重的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>

答案 1 :(得分:0)

这对我来说不仅仅是完美的。 layout-sw320dp-land-hdpilayout-sw320dpi-land-xhdpi