Bottomsheet对话框始终显示在UI上而不是消失

时间:2017-06-26 04:54:56

标签: android xml

我在android中创建底片时看起来有问题(看起来像谷歌地图)

when i come to maps ui,but bottom sheet does not hide

期望:单击标记并显示底部工作表,如google地图

这是我的xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
tools:context="com.example.dangquang.stackexchange.activity.MapActivity">

<android.support.v7.widget.Toolbar
    android:id="@+id/actMap_Toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimary"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:titleTextColor="@android:color/white">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/title_maps"
        android:textSize="@dimen/title_nav_toolbar" />
</android.support.v7.widget.Toolbar>

<android.support.v7.widget.Toolbar
    android:id="@+id/actMap_tbDetail"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimary"
    android:visibility="gone">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/actMap_tvDuration"
                style="@style/title_detail_direction"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableRight="@drawable/duration_icon" />

            <TextView
                android:id="@+id/actMap_tvDistance"
                style="@style/title_detail_direction"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableRight="@drawable/distance_icon" />

            <Spinner
                android:id="@+id/actMap_spnMode"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1" />
        </LinearLayout>

        <TextView
            android:id="@+id/actMap_tvDirection"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="@dimen/_5sdp"
            android:textColor="@android:color/white"
            android:textSize="@dimen/_14sdp" />
    </LinearLayout>

</android.support.v7.widget.Toolbar>

<EditText
    android:id="@+id/actMap_etSearch"
    style="@style/action_searchMap"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/place_autocomplete_search_hint"
    android:imeOptions="actionSearch"
    android:inputType="text" />

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <fragment
        android:id="@+id/actMap_frgMaps"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    <android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        >
        <android.support.v4.widget.NestedScrollView
            android:id="@+id/actMap_BottomSheet"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/colorPrimary"
            app:layout_behavior="android.support.design.widget.BottomSheetBehavior">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/actMap_tvDetailName"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:textSize="@dimen/item_title_size"/>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">

                    <TextView
                        android:id="@+id/actMap_tvDetailPoint"
                        android:layout_width="wrap_content"
                        android:layout_height="match_parent"
                        android:layout_weight="1" />

                    <TextView
                        android:id="@+id/actMap_tvDetailDuration"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:drawableLeft="@drawable/car_icon"
                        style="@style/navigation_item_text" />
                </LinearLayout>
            </LinearLayout>
        </android.support.v4.widget.NestedScrollView>
    </android.support.design.widget.CoordinatorLayout>
</FrameLayout>
</LinearLayout>

1 个答案:

答案 0 :(得分:0)

您可以使用此actMap_BottomSheet.setVisibility(View.INVISIBLE)在onCreate上设置底部不可见,并在需要时使其可见。

但是你的xml非常复杂并且有很多嵌套级别会导致性能问题。我建议你使用约束布局。