2016-04-28 154 views
0

我有导航抽屉的发射器活动。当我将地图添加到该启动器活动中时,我没有看到任何工具栏,因此我无法控制导航抽屉。这里怎么我的活动现在看起来: enter image description hereAndroid抽屉导航工具栏丢失

这里,它应该怎么样子(我需要这个工具栏) enter image description here

和导航抽屉应该重叠所以这里的地图这样enter image description here

的我的代码

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_map_nav); 

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
      this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); 
    drawer.setDrawerListener(toggle); 
    toggle.syncState(); 

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); 
    navigationView.setNavigationItemSelectedListener(this); 

    mapView = new MapView(this); 

    MapHandler.getMapHandler().init(this, mapView); 

    addMarkers(); 
} 

,你可以看到我添加工具栏活动

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 

这里的MapHandler init方法()

mapView.getLayerManager().getLayers().add(tileRendererLayer); 
    ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, 
      ViewGroup.LayoutParams.WRAP_CONTENT); 
    activity.addContentView(mapView, params); 

的一部分,这里是从清单文件

<activity 
     android:name=".map.MapNavActivity" 
     android:theme="@style/AppTheme.NoActionBar" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

代码所以我做错了吗?

编辑我的导航活动XML

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout 
    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:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:openDrawer="start"> 

    <include 
     layout="@layout/app_bar_map_nav" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

    <android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     app:headerLayout="@layout/nav_header_map_nav" 
     app:menu="@menu/activity_map_nav_drawer" /> 

</android.support.v4.widget.DrawerLayout> 

app_bar_map_nav.xml

<?xml version="1.0" encoding="utf-8"?> 
<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="aplikacija.zveju.rinkodara.com.zvejuaplikacija.map.MapNavActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <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" /> 

    </android.support.design.widget.AppBarLayout> 

    <include layout="@layout/content_map_nav" /> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|end" 
     android:layout_margin="@dimen/fab_margin" 
     android:src="@android:drawable/ic_dialog_email" /> 

</android.support.design.widget.CoordinatorLayout> 
+0

请,添加你的活动xml布局。 – Majestic

+0

@Majestic我添加xml文件 – David

+0

这只是猜测,但也许你使用CoordinatorLayout与地图?如果是这样,AppBar将只显示行为附加到它 – Nexen

回答

0

我解决了这个问题,与雄伟的帮助。谢谢!我添加此代码content_map_nav.xml

<org.mapsforge.map.android.view.MapView 
    android:id="@+id/mapView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
</org.mapsforge.map.android.view.MapView> 

和mainactivity代替本mapView = new MapView()我写这篇文章mapView = (MapView) findViewById(R.id.mapView);,现在它的作品!

0

可能是你用的RelativeLayout或LinearLayout中更换ConstraintLayout在content_main.xml,如果你想使用的LinearLayout或RelativeLayout的你应该保持,但包装你的布局是这样的:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout 
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" 
app:layout_behavior="@string/appbar_scrolling_view_behavior" 
tools:context="com.gmail.farhadkargaran.myapplication.MainActivity" 
tools:showIn="@layout/app_bar_main"> 

<LinearLayout 

    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/main_bg" 
    android:orientation="vertical" 
    android:gravity="center" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintTop_toTopOf="parent" 
    tools:showIn="@layout/app_bar_main"> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Hello World!" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintLeft_toLeftOf="parent" 
     app:layout_constraintRight_toRightOf="parent" 
     app:layout_constraintTop_toTopOf="parent" /> 
</LinearLayout>