我有5个片段,当然还有我的.MainActivity。
MainActivity
FragOne
FragTwo
---
FragFive
然后:
activity_main.xml
app_bar_main.xml
content_main.xml
nav_header_main.xml
lay1.xml
lay2.xml
---
lay5.xml
当应用程序加载时,它是一个空白屏幕,但显然当我点击导航栏时,页面将加载。
我的问题是,无论如何我可以使用片段作为我的启动器页面,因为如果我尝试在任何其他活动(如content_main或acivity_main)上创建主页,那么很明显它会显示在每个页面上我都不会#39不想要。 但是如果我做了一个新的活动并将其设置为启动器,显然这会起作用但是我的导航栏会丢失吗?最好的方法是什么?
答案 0 :(得分:0)
你想要的不是那么大的问题。只需使用SupportFragmentManager
中的MainActivity
加载片段即可。如果此片段仅为一次性视图(在使用导航抽屉更改为其他片段之前),则在MainActivity中简单加载启动器片段就足够了。
在MainActivity中加载一次的示例:
在MainActivity中的onCreate
方法中
///////////Setting up Fragment as Starting Page////////////
LauncherFragment fragment = new LauncherFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction =
getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment,"launcher");
fragmentTransaction.commit();
使用NavigationDrawer更改为其他片段后,将不会看到此启动器片段(除非您在其他地方调用它,根据您不想要的问题)
如果不是使用单独的LauncherFragment而是决定要加载FragOne本身,则需要在设置FragOne后手动突出显示Drawer的第一项(FragOne)
navigationView.getMenu().getItem(0).setChecked(true); ////Set Navigation drawer manually