对相同尺寸使用 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-hdpi
和 layout-sw320dpi-land-xhdpi
我正在开发一款必须支持所有尺寸的应用程序。由于 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-hdpi
和 layout-sw320dpi-land-xhdpi