所有活动中的Android导航抽屉[重复]

Posted

技术标签:

【中文标题】所有活动中的Android导航抽屉[重复]【英文标题】:Android Nav drawer in all activities [duplicate] 【发布时间】:2018-05-09 01:19:49 【问题描述】:

如何在所有活动中显示我的导航抽屉

android studio 中创建一个新项目并有一个导航抽屉活动后,我运行它,但它没有显示在我的所有活动中。 (我没有添加任何代码,只是创建 活动并运行它)。我想知道如何显示导航 抽屉里的所有活动,有什么办法吗?

【问题讨论】:

在导航抽屉活动页面中使用片段 关注这里,可以成功实现这个https://***.com/questions/19451715/same-navigation-drawer-in-different-activities 【参考方案1】:

您可以将导航抽屉与一个活动绑定。导航抽屉将仅显示在您创建的活动中。如果您想在所有应用程序中查看导航抽屉,您可以添加一帧布局并在其中添加片段以实现应用程序功能。该应用程序将是具有多个片段的单个 Activity。

以下是添加片段的代码。 :

 Fragment fragment = new PlanetFragment();
    Bundle args = new Bundle();
    args.putInt(PlanetFragment.ARG_PLANET_NUMBER, position);
    fragment.setArguments(args);
// Insert the fragment by replacing any existing fragment
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
               .replace(R.id.content_frame, fragment)
               .commit();

更多详情:查看此链接。 https://developer.android.com/training/implementing-navigation/nav-drawer.html

编辑

无片段

您可以创建一个BaseActivity,所有activity 都将扩展BaseActivity。您需要将navigation drawerBaseActivity 绑定。这样,您就可以实现您想要的。

BaseActivity.Java

public class BaseActivity extends AppCompatActivity 

@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    DrawerLayout fullView = (DrawerLayout) 
    getLayoutInflater().inflate(R.layout.activity_base, null);
    FrameLayout activityContainer = (FrameLayout) 
    fullView.findViewById(R.id.activity_content);
    getLayoutInflater().inflate(layoutResID, activityContainer, true);
    super.setContentView(fullView);



【讨论】:

请在不使用 Fragments 的情况下告诉我 检查更新的答案 请详细告诉我 你检查过我更新的答案吗?我已经给出了您要求的代码 sn-p。 但是如何将它与导航抽屉绑定?

以上是关于所有活动中的Android导航抽屉[重复]的主要内容,如果未能解决你的问题,请参考以下文章

导航抽屉和Android中的活动

Android:多个活动的导航抽屉

带有片段的 Android Studio 导航抽屉。工具栏隐藏在下一个片段活动或页面中

android studio 不创建导航抽屉活动

更新基本导航抽屉活动的参数

多个活动上的 Android 导航抽屉