我刚开始从事 Android 开发。我的 IDE 是 Android Studio,我目前正在构建自己的计算器应用程序。我用的是 Nexus 5X 5.7 英寸的屏幕: My app using the 5.7 screen
我遇到的唯一问题是,当我尝试使用我 friend 的 4.7 屏幕手机时,它看起来像这样: My app using the 4.7 screen
我认为应用程序会自动缩放所有内容,就像您在 Web 开发中使用 viewport 一样。我是一名网络开发人员(html、php、javascript、css),我正计划迁移到 android 开发以便于使用。伙计们,有什么办法可以解决这个问题而无需重新设计所有内容吗?
谢谢,平安。
最佳答案
Android 设备有多种屏幕尺寸和分辨率。这就是为什么在 android 中处理多个屏幕尺寸是最重要的。
看看这个:https://stuff.mit.edu/afs/sipb/project/android/docs/guide/practices/screens_support.html
实际物理尺寸,以屏幕的对角线测量。为简单起见,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 时,我们会发现每种设计都需要最少的空间。
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 步:首先转到 Android 到 Project 模式,在 Android studio 中更改项目名称下方。
第 2 步:为所有屏幕尺寸创建文件夹。
第 3 步:在所有这些文件夹上创建相同的 xml 布局。
关于android - 屏幕尺寸兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48516031/