Android 单窗格到双窗格
我正在从事一个Android项目,但在双窗格布局列表+详细信息方面遇到了问题 当前状态: 对于宽度大于600dp的屏幕和横向屏幕,使用GMail应用程序中的双窗格布局。 从双窗格切换到单窗格布局非常有效 适用于任何方向宽度小于600dp的设备的工作单窗格布局。 问题: 如果用户设备屏幕宽度大于600dp处于纵向模式,并选择列表项,则会弹出正确的详细视图。如果用户现在将方向更改为横向,则布局应更改为带有列表和选定局部视图的双窗格布局。但应用程序仍停留在单窗格布局中 在我看来,这个问题是因为我在单窗格模式下启动了一个新的活动,而不是交换一些片段。但我真的不知道如何做到这一点 下面的代码显示了如果用户选择列表项会发生什么Android 单窗格到双窗格,android,android-layout,android-fragments,Android,Android Layout,Android Fragments,我正在从事一个Android项目,但在双窗格布局列表+详细信息方面遇到了问题 当前状态: 对于宽度大于600dp的屏幕和横向屏幕,使用GMail应用程序中的双窗格布局。 从双窗格切换到单窗格布局非常有效 适用于任何方向宽度小于600dp的设备的工作单窗格布局。 问题: 如果用户设备屏幕宽度大于600dp处于纵向模式,并选择列表项,则会弹出正确的详细视图。如果用户现在将方向更改为横向,则布局应更改为带有列表和选定局部视图的双窗格布局。但应用程序仍停留在单窗格布局中 在我看来,这个问题是因为我在单窗
@Override
public void onItemSelected(AndroidCalendar calendar) {
if (mTwoPane) {
// two-pane mode
Bundle arguments = new Bundle();
arguments.putSerializable(CalendarDetailFragment.CALENDAR, calendar);
CalendarDetailFragment fragment = new CalendarDetailFragment();
fragment.setArguments(arguments);
getFragmentManager().beginTransaction()
.replace(R.id.calendaritem_detail_container, fragment)
.commit();
} else {
// single-pane mode
Intent detailIntent = new Intent(this, CalendarDetailActivity.class);
detailIntent.putExtra(CalendarDetailFragment.CALENDAR, calendar);
startActivity(detailIntent);
}
例如,Boxer应用程序EMail和gReader支持此行为。我认为GMail应用程序也是如此。你可以通过使用应用程序的导航抽屉方案来实现你想要的行为。由于布局的最后两个部分抽屉和细节都是片段,因此您可以使用一个布局,就像正常的导航抽屉一样,在其中来回滑动。然后在平板电脑布局中,使碎片不会滑动,而是永久可见。在您的主要活动中,您可以实现逻辑来查看屏幕大小并推断它是否是平板电脑。然后,您将拥有一个动态布局,而无需创建不同的活动 我还想看看导游