带有设计支持库的Android地图滑动面板

时间:2015-06-26 18:53:05

标签: android google-maps android-support-library android-coordinatorlayout

我有一个简单的问题。我正在玩新的Android设计supoort库,当我在地图上选择一个标记或一个点时,我试图做的是类似谷歌地图应用程序中发生的事情:从底部出现一个向上滑动的面板。 Like in these pictures

我创建的是一个扩展AppCompatActivity的活动和以这种方式构建的布局:

<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"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/coordinatorLayout"
    android:layout_height="match_parent"
    android:layout_width="match_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        android:animateLayoutChanges="true">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_scrollFlags="scroll|enterAlwaysCollapsed">
                   <fragment
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:id="@+id/map"
                        android:name="com.google.android.gms.maps.SupportMapFragment"
                        tools:context=".MapActivity"

                        map:cameraZoom="15"
                        map:mapType="normal"
                        map:uiCompass="true"
                        map:uiRotateGestures="true"
                        map:uiScrollGestures="true"
                        map:uiZoomControls="false"
                        map:uiZoomGestures="true"

                        app:layout_collapseMode="parallax"

                        android:animateLayoutChanges="true">
                   </fragment>

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                app:layout_collapseMode="pin"/>

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

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

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

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/btnNWShowLocation"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_nw_pos"
        android:layout_gravity="bottom|start"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_marginBottom="@dimen/activity_vertical_margin"
        app:fabSize="normal"/>
    <android.support.design.widget.FloatingActionButton
        android:id="@+id/btnGPSShowLocation"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_gps_pos"
        app:layout_anchor="@+id/checkin_card"
        app:layout_anchorGravity="right"
        android:layout_marginBottom="@dimen/activity_vertical_margin"
        app:fabSize="normal"/>

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

<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/navigation_drawer_header"
    android:backgroundTint="@color/my_divider"
    app:menu="@menu/menu_navigation_drawer" />

当我按下btnGPSShowLocation FAB时,我所做的只是调整地图高度,以便有足够的空间来显示我的签到布局。 但这并不像google地图应用程序那样流畅。

也许这不是实现我想要的正确方法。你能帮我吗?

0 个答案:

没有答案