Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android(Studio):小屏幕问题_Android_Android Layout - Fatal编程技术网

Android(Studio):小屏幕问题

Android(Studio):小屏幕问题,android,android-layout,Android,Android Layout,我已经看过很多关于各种Android手机屏幕尺寸开发的话题。我已经阅读了关于这个主题的所有不同的开发页面,比如和,但是我仍然遇到问题 使用Android Studio 因此,让我首先回顾一下我脑海中关于不同屏幕大小等的一切。请补充更多我应该记住的内容 除了text和SPtext之外,您应该始终使用dp 您应该为不同的DP大小创建/调整布局 布局-sw480dp。。。 应根据不同的DP大小调整图像大小 所有DP屏幕可以有不同的分辨率,例如480x800px 是ldpi、mdpi、hdpi 现在,我

我已经看过很多关于各种Android手机屏幕尺寸开发的话题。我已经阅读了关于这个主题的所有不同的开发页面,比如和,但是我仍然遇到问题

使用Android Studio

因此,让我首先回顾一下我脑海中关于不同屏幕大小等的一切。请补充更多我应该记住的内容

除了text和SPtext之外,您应该始终使用dp 您应该为不同的DP大小创建/调整布局 布局-sw480dp。。。 应根据不同的DP大小调整图像大小 所有DP屏幕可以有不同的分辨率,例如480x800px 是ldpi、mdpi、hdpi 现在,我有两个问题。关于2号和4号,但它们彼此相关。我已经为我的HTC One m7创建了一个布局,它是1920x1080 xhdpi320dp,在设备上一切都很好

问题2:我创建了多个布局目录layout-sw240dp、layout-sw320dp、layout-sw480dp。当我在预览窗口中选择xhdpi或xxhdpi手机时,它会相应地切换到320dp和480dp布局。然而,当我选择mdpi手机时,预览再次采用320dp布局。。。有人对这个问题有想法吗

关于4的问题:在1920x1080320dp的分辨率上,我的布局工作得很好,但每当我改变分辨率时,无论是更高还是更低,但保持320dp,事情都会变糟。例如,当我缩小分辨率时,我的应用程序的一半就会从屏幕上掉下来。我原以为在一致使用DP和SP时不会发生这种情况,但显然我错了


如果有人能在这方面帮助我,我将不胜感激。

您可以使用以下项目结构,有关更多信息,请参阅

res/layout/main_activity.xml           # For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml   # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml   # For 10” tablets (720dp wide and bigger)
因此,您可以将布局文件放在相应的布局文件夹中


解决问题2:如果您的mdpi手机的屏幕小于600dp,它将使用res/layout文件夹中的布局。此外,Android Studio预览功能可能并不总能反映全部事实。在你的模拟器上试试。

这不是如这里所说的不推荐吗?:。。。这就是我得到swdp布局图的原因。谢谢你,马库斯,我已经完成了,但仍然有一个问题。例如,我的手机xhdpi so sw320dp的分辨率为1920x1080,而另一款手机xhdpi的分辨率为1280x720。现在我的布局从屏幕上掉了下来。看到我的问题了吗?手机从同一个layout-sw320dp目录获取布局,因为它都是320dp,但分辨率不同,dp/sp似乎不起作用。还尝试了emulator genymotion。谢谢你迄今为止的帮助@Marcus@Serellyn您是否确定已在dp中声明了所有布局大小,而在sp中仅声明了文本大小?当您描述您的问题时,不看任何代码,这似乎就是问题所在。此外,尽量不要声明任何确定的值,而是根据需要使用wrap_内容。如果您在问题中发布一些实际的代码,调试也会更容易。@Serellyn我想补充一点,我很少,几乎从不,在DP中定义布局大小。尽管它比使用像素更具响应性,但通过包裹内容或匹配父元素(通过权重和相对布局调整)定义高度和宽度可确保设计更具响应性。当然,这是我的主观观点,因为应用程序设计不是一个单一的、单向的过程。我已经做了一个测试来说明哪里出了问题,下面是我的和。我希望你能帮助我,谢谢你。