所以,我正在开发一个具有特定细节片段的层次结构的应用程序:
CoordinatorLayout
AppBarLayout
CollapsingToolbarLayout
Toolbar
NestedScrollView
这是设置:
因此,当用户滚动NestedScrollView时,ToolbarLayout将缩小直到完全折叠,但工具栏只会缩小到它发送到的最小高度,因为它在折叠时设置为pin。我相信这是一个相当常见的UI / UX模式。它只是一个简单的Master-Detail格式。
话虽如此,在手机上,我的应用程序应该在与之交互时显示主片段,然后是细节片段。在平板电脑/平板电脑上,主要和细节片段将并排显示,使得细节片段在主片段中的用户交互时改变。这是通过在我创建的layout-sw600dp文件夹中使用不同的结构化布局来完成的。
设置在物理手机上运行良好,但是当我在平板电脑/手机的Genymotion模拟器上测试应用程序时出现问题。使用layout-sw600dp文件夹我可以并排显示两个片段,但滚动行为不再按预期运行。细节片段的NestedScrollView将滚动,但CollapsingToolbarLayout不再缩小,同样工具栏也不会缩小并固定就位。整个CollapsingToolbarLayout只是固定到位,NestedScrollView不会滚动显示整个底部内容。有人可以解释为什么我看到这种行为吗? API级别不应该成为问题,所以我迷失了。我在运行Android 5.1的物理手机上测试了两个窗格设置,滚动行为与预期一样正常(但内容也按预期压缩!)
另一个问题是,当我在Genymotion手机模拟器上运行它时,它会显示两个并排放置片段的窗格,即使它不应该... ...宽度/高度用于4.1+模拟器的手机至少为768 x 1280,因此使用了layout-sw600dp资源。
这已经在以下测试:Android 4.4 / 5.1平板电脑尺寸为2560x1600和Android 4.4 / 5.1手机全部在Genymotion模拟器上