屏幕尺寸兼容性

Screen Size Compatibility

我刚开始 android 开发。我的 IDE 是 Android Studio,我目前正在构建自己的计算器应用程序。我用的是 Nexus 5X 5.7 英寸的屏幕: My app using the 5.7 screen

我遇到的唯一问题是,当我尝试我朋友的 phone 有 4.7 屏幕时,它看起来有点像这样: My app using the 4.7 screen

我认为应用程序会自动缩放所有内容,就像您在 Web 开发中使用 viewport 一样。我是一名 Web 开发人员(html、php、javascript、css),我打算迁移到 android 开发以方便使用-采用。伙计们,有什么办法可以解决这个问题而无需重新设计所有内容吗?

谢谢,平安。

我遇到了同样的问题,我使用了 this 库,它为我解决了问题。

在 gradle 中添加此库后,您只需将 xml 中的 sp 替换为 ssp 即可。

对于宽度和高度,我使用了 this 库。

只需将 dp 比例替换为 sdp。

我也回答过这样的问题你看看吧

Android 设备有多种屏幕尺寸和分辨率。这就是为什么在 android 中处理多屏幕尺寸是最重要的。

看看这个:https://stuff.mit.edu/afs/sipb/project/android/docs/guide/practices/screens_support.html

实际物理尺寸,以屏幕的 diagonal.For 简洁度衡量,Android 组有四种通用尺寸:小号、普通号、大号和特大号。

要在 Android 中设置对多种设备尺寸的支持,请将元素添加到 AndroidManifest.xml 文件中。

<?xml version="1.0" encoding="utf-8"?>
<manifest ..>

<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens= "true"
android:anyDensity="true"
/>

<application... >
….
</application>
</manifest>

当我们针对不同的屏幕尺寸设计 UI 时,我们会发现每个设计都需要最少的 space。

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape

我们也可以在dp的基础上这样定义:

res/layout/main_activity.xml           // For handsets
res/layout-sw600dp/main_activity.xml   // For 7”  tablets(600x1024 mdpi).600dp wide and bigger.
res/layout-sw720dp/main_activity.xml   // For  10” tablets (720x1280 mdpi).720dp wide and bigger.

创建不同屏幕布局的步骤:

第 1 步:首先转到 AndroidProject 模式 Android 工作室更改如下项目名称。

第 2 步:为所有屏幕尺寸创建文件夹。

第 3 步:在所有这些文件夹上创建相同的 xml 布局。

对于屏幕兼容性问题,请尝试使用相对布局和滚动视图,以使您的应用与平板电脑和水平布局兼容。