Android 如何访问现有活动的导航菜单
我在我的项目中有两项活动。MainActivity(我的第一个活动)中有一个NavigationDrawer。我可以使用汉堡包图标访问导航菜单项。但我想在我的交通活动中使用它。如何添加汉堡图标和访问导航菜单项 my.xmlAndroid 如何访问现有活动的导航菜单,android,navigation-drawer,Android,Navigation Drawer,我在我的项目中有两项活动。MainActivity(我的第一个活动)中有一个NavigationDrawer。我可以使用汉堡包图标访问导航菜单项。但我想在我的交通活动中使用它。如何添加汉堡图标和访问导航菜单项 my.xml <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.example.yunus.ototakip.MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:titleTextColor="@color/beyaz"
app:subtitleTextColor="@color/beyaz">
</android.support.v7.widget.Toolbar>
<include layout="@layout/content_main" />
在您的情况下,建议使用片段代替活动: 将所有MainActivity内容(中间的内容,而不是抽屉布局或导航视图内容)移动到名为MainFragment(ex)的片段中: 将框架布局添加到out content_main.xml:
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"></FrameLayout>
为IpuclariSayfasi活动创建另一个片段
OnNavigationItemSelected()将MainFragment替换为IpuclariSayfasi片段:
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
.......
else if (id == R.id.nav_ipucu)
{
FragmentManager fm = getFragmentManager();
fm.beginTransaction().replace(R.id.content_frame, new IpuclariSayfasi(), "IpuclariSayfasi").commit();
}
.......
}
这是使用导航抽屉活动的标准系统。通过扩展AppCompactActivity.java创建一个公共活动类(比如:BaseActivity.java)。将所有抽屉相关的内容实现到BaseActivity中,并在MainActivity和TrafficActivity中扩展此类。我是否应该在xml文件中执行一些操作?您必须创建单独的xml,但我在MainActivity中使用BottomBarNavigation。我用的是框架布局。你认为这种情况可以吗?是的,没问题。用新的framelayout包装中间的内容,并用片段替换。
FragmentManager fm = getFragmentManager();
fm.beginTransaction().replace(R.id.content_frame, new MainFragment()).commit();
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
.......
else if (id == R.id.nav_ipucu)
{
FragmentManager fm = getFragmentManager();
fm.beginTransaction().replace(R.id.content_frame, new IpuclariSayfasi(), "IpuclariSayfasi").commit();
}
.......
}