主屏幕启动器Android

时间:2017-02-26 16:55:40

标签: android android-studio android-fragments

我有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不想要。 但是如果我做了一个新的活动并将其设置为启动器,显然这会起作用但是我的导航栏会丢失吗?最好的方法是什么?

1 个答案:

答案 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