早上好,我想问一下创建平板电脑布局变体和创建布局文件夹(例如:“ res / layout-w600dp /”)有什么区别?
很抱歉,我是为大型(平板电脑)设备制作适用于小型(手机/ android手机)的android应用程序的新手。
有人可以帮助我吗?我真的在为平板电脑布局时遇到麻烦。我不知道在平板电脑上运行应用程序时,平板电脑的布局是否会自动显示,或者我必须在Java部分中放置一些代码。我已经阅读了一些文档,但是我不太了解。抱歉。
谢谢您的帮助。
答案 0 :(得分:0)
如果您有两个布局文件:
res/layout/
activity_main.xml
res/layout-sw600dp/
activity_main.xml
您有一个调用setContentView(R.layout.activity_main)
的活动,您无需执行其他任何操作:第一个版本将加载到手机上,第二个版本将加载到平板电脑上。
如果每个布局文件都具有具有相同ID的视图(可能只是它们的排列或大小不同),那么您就可以执行所需的任何逻辑,并且这两种逻辑都可以使用。
不过,通常情况下,平板电脑文件将包含手机版本不包含的视图。在这种情况下,您应在尝试使用这些视图之前检查它们是否存在。假设平板电脑版本具有视图android:id="@+id/right_panel"
,而手机版本则没有。您可能会写:
View rightPanel = findViewById(R.id.right_panel);
if (rightPanel != null) {
// do something for tablets
}