问题描述
在我制作抽屉菜单和浮动按钮后,为什么我的地图无法获取我的位置和位置按钮,为什么点击搜索位置按钮时会强制停止?在我添加抽屉菜单和浮动按钮之前,一切都好..
前
后
after i make drawer menu and floating button why my maps can't get my location and location button not show, and why the search place button when it clicked so that force stop?before i add drawer menu and floating button, it's all okay..
Before
After
activity_main.xml
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.emergency.MainActivity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/drawerLayout">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/toolbar">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fab="http://schemas.android.com/apk/res-auto"
android:background="@color/background"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/activity_maps"/>
<com.getbase.floatingactionbutton.FloatingActionsMenu
android:id="@+id/multiple_actions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
fab:fab_addButtonColorNormal="@color/white"
fab:fab_addButtonColorPressed="@color/white_pressed"
fab:fab_addButtonPlusIconColor="@color/half_black"
fab:fab_labelStyle="@style/menu_labels_style"
android:layout_marginBottom="50dp"
android:layout_marginRight="16dp"
android:layout_marginEnd="16dp">
<com.getbase.floatingactionbutton.FloatingActionButton
android:id="@+id/action_a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
fab:fab_colorNormal="@color/white"
fab:fab_title="Tambal Ban"
fab:fab_colorPressed="@color/white_pressed"
fab:fab_size="mini"/>
<com.getbase.floatingactionbutton.FloatingActionButton
android:id="@+id/action_b"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
fab:fab_colorNormal="@color/white"
fab:fab_title="ATM"
fab:fab_colorPressed="@color/white_pressed"
fab:fab_size="mini"/>
<com.getbase.floatingactionbutton.FloatingActionButton
android:id="@+id/action_c"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
fab:fab_colorNormal="@color/white"
fab:fab_title="WC Umum"
fab:fab_colorPressed="@color/white_pressed"
fab:fab_size="mini"/>
</com.getbase.floatingactionbutton.FloatingActionsMenu>
</RelativeLayout>
</LinearLayout>
<android.support.design.widget.NavigationView
android:id="@+id/navigationView"
android:layout_width="280dp"
android:layout_height="match_parent"
app:headerLayout="@layout/header_menu"
app:menu="@menu/menu_navigasi"
android:layout_gravity="start">
<!--perintah buat nampilin menu utama kemudian bisa di slide yang ada menu adalah yang layout_gravity-->
</android.support.design.widget.NavigationView >
</android.support.v4.widget.DrawerLayout>
activity_maps.xml
activity_maps.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/header_tempat"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:context="com.emergency.MapsActivity" />
</LinearLayout>
<Button
android:id="@+id/Bsearch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ff4081"
android:src="@android:drawable/ic_dialog_map"
android:text="Search Place"
android:textColor="#fff"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:onClick="onSearch"
/>
</RelativeLayout>
推荐答案
由于某种原因 SupportMapFragment
将我的位置按钮(或指南针图标)放置在 中时,它不显示我的位置按钮(或指南针图标).
(
For some reason SupportMapFragment
does not show my location button (or compass icon) when its placed inside <DrawerLayout>
(<- as a root view), but there is a solution:
将整个 放入
并删除
并只放入整个
activity_maps
.同样为了让它看起来更好,我建议移动 activity_main
中的 .xmlactivity_maps.xml
并从中制作一个片段,然后你将拥有:
Put the whole <DrawerLayout>
in <RelativeLayout>
and remove <include>
and just put whole activity_maps.xml
in activity_main
. Also to make it look better I would recommend moving activity_maps.xml
and make a fragment from it, and then instead of <include>
you would have:
<fragment
android:id="@+id/map_fragment"
class="com.yourpackage.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
您将只为片段中的地图分离逻辑,活动中的所有活动内容.而且我们都知道 MainActivity
往往会随着时间的推移而增长,原因有很多 ;)
You will have separated logic only for map in the fragment, an all activity stuff in activity. And we all know that MainActivity
tends to grow over time for many reasons ;)
这篇关于无法获取我的位置和位置按钮不显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!