屏幕尺寸兼容性

时间:2018-01-30 07:25:23

标签: android screen

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

我遇到的唯一问题是,当我尝试使用具有4.7屏幕的朋友的手机时,它有点像这样: My app using the 4.7 screen

我认为该应用会自动扩展所有内容,就像您在网络开发中使用 viewport 一样。我是网络开发人员(html,php,javascript,css),我计划迁移到Android开发以方便使用。有没有什么方法可以解决这个问题,而无需重新设计所有人?

谢谢,安息吧。

3 个答案:

答案 0 :(得分:2)

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工作室中的 Android 项目模式,更改项目名称下方。

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

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

我有同样的问题,我使用this库,它为我做了一件事。

问题是你只需要在你的gradle中添加这个库后用你的xml中的ssp替换sp,你就可以了。

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

只需用sdp替换dp标度。

我也回答过像here这样的问题,看看。