android - 屏幕尺寸兼容性

标签 android screen

我刚开始从事 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 步:首先转到 AndroidProject 模式,在 Android studio 中更改项目名称下方。

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

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

关于android - 屏幕尺寸兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48516031/

相关文章:

android - Dagger 2中 "HasFragmentInjector"的实际用法是什么

android - Android 上运行的 Kivy 应用程序在屏幕锁定后关闭。如何避免?

android - 在 Android 上处理同一类别的不同屏幕尺寸的最佳方法

jquery - 根据屏幕分辨率更改宽度,与 dailymotion 视频相同

Android list <使用配置>

Android:如何快速闪烁 LED/手电筒

html - 针对不同设备缩放 Web 应用程序的屏幕尺寸

c++ - 构造函数中的四叉树和区域大小

android - 相机插件在 iOS 上使 Cordova 应用程序崩溃,但在 Android 上却没有

java - 使用 Android 拍摄单色照片(黑白)