Android 不同风格的导航-手机还是平板电脑?
我相当擅长片段API,我知道如何在手机/平板电脑上创建主/细节模式。 但如何在手机和平板电脑中创建不同风格的导航? 最明显的例子是在手机上滑动标签和某种平板电脑布局,所有的碎片都放在里面,没有滑动标签 除了巨型if语句之外,还有其他优雅的方法吗 //编辑 所以,正如我推测的那样,你要做的是创建两个布局(手机-查看寻呼机/平板电脑-三个静态片段),并在activity的onCreate中检查布局中的某些内容,以确定你是在手机中还是在平板电脑中然后,如果您在平板电脑中,只需初始化选项卡导航/或不初始化。应该可以 IO 2012应用程序的代码片段Android 不同风格的导航-手机还是平板电脑?,android,android-fragments,Android,Android Fragments,我相当擅长片段API,我知道如何在手机/平板电脑上创建主/细节模式。 但如何在手机和平板电脑中创建不同风格的导航? 最明显的例子是在手机上滑动标签和某种平板电脑布局,所有的碎片都放在里面,没有滑动标签 除了巨型if语句之外,还有其他优雅的方法吗 //编辑 所以,正如我推测的那样,你要做的是创建两个布局(手机-查看寻呼机/平板电脑-三个静态片段),并在activity的onCreate中检查布局中的某些内容,以确定你是在手机中还是在平板电脑中然后,如果您在平板电脑中,只需初始化选项卡导航/或不初
<> P>任何已经在手机上有Tabs导航的家伙,请考虑在平板电脑上实现这一点,如果它对你的设计是明智的。你已经准备好了fragments api,所以真的没有借口了。你可以看看Roman Nurik的2012 I/O应用程序,它可以根据大小和方向的各种可能组合切换导航/布局
你的意思是适应屏幕大小的差异?i、 e.在手机上,我需要导航,因为我无法在一个屏幕上显示所有的片段,但在平板电脑上,我有更多的空间可以同时看到2或3个。别担心,我到家后会做的,我想先检查一下,从代码中找出更全面的答案,让其他人看到
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
FragmentManager fm = getSupportFragmentManager();
mViewPager = (ViewPager) findViewById(R.id.pager);
if (mViewPager != null) {
// Phone setup
mViewPager.setAdapter(new HomePagerAdapter(getSupportFragmentManager()));
mViewPager.setOnPageChangeListener(this);
final ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.addTab(actionBar.newTab()
.setText(R.string.title_my_schedule)
.setTabListener(this));
actionBar.addTab(actionBar.newTab()
.setText(R.string.title_explore)
.setTabListener(this));
actionBar.addTab(actionBar.newTab()
.setText(R.string.title_stream)
.setTabListener(this));
homeScreenLabel = getString(R.string.title_my_schedule);
} else {
//Tablet setup
mExploreFragment = (ExploreFragment) fm.findFragmentById(R.id.fragment_tracks);
mMyScheduleFragment = (MyScheduleFragment) fm.findFragmentById(R.id.fragment_my_schedule);
mSocialStreamFragment = (SocialStreamFragment) fm.findFragmentById(R.id.fragment_stream);
}
}