Parent Activity 工具栏隐藏在子片段中
Parent Activity Tool bar is hiding in child fragment
请找到 Activity xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="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:background="@color/white"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_10ssp"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_menu"
android:layout_width="@dimen/_15sdp"
android:layout_height="@dimen/_15sdp"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:layout_marginStart="@dimen/_10sdp"
android:background="@drawable/ic_menu"
android:visibility="visible"
/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/mediumTextInput"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/text"
android:textColor="@color/colorPrimary"
android:textSize="@dimen/_14ssp" />
<com.suke.widget.SwitchButton
android:id="@+id/sb_private"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/_10sdp"
app:sb_background="@color/light3"
app:sb_checked="false"
app:sb_checked_color="@color/colorPrimary"
app:sb_checkline_color="@color/colorPrimary"
app:sb_show_indicator="false"
app:sb_uncheck_color="@color/light3"
app:sb_uncheckcircle_color="@color/white"
/>
</RelativeLayout>
</RelativeLayout>
</androidx.appcompat.widget.Toolbar>
<FrameLayout
android:id="@+id/fl_main_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
</FrameLayout>
</RelativeLayout>
</LinearLayout>
<com.google.android.material.navigation.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/layout_nav_header"
app:menu="@menu/activity_main_drawer"
android:background="@color/white"
android:visibility="visible"
/>
这是我的子片段 xml 文件
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".fragment.MapFragment">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MapsActivity" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/_30sdp"
android:layout_height="@dimen/_30sdp"
android:id="@+id/iv_my_location"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="@dimen/_20sdp"
android:layout_marginEnd="@dimen/_20sdp"
app:srcCompat="@drawable/ic_my_location_light4_with_background"
android:visibility="gone"
/>
</RelativeLayout>
</FrameLayout>
我在子片段中显示地图,我需要在地图顶部位置显示工具栏,(工具栏背景应该对地图透明)
但是,子片段隐藏了工具栏,如何将这个工具栏带入地图?工具栏对所有片段都是通用的。
我的要求是,“地图应该占据整个页面,它不应该低于工具栏,那是我没有在 Framelayout 中给出下面的布局
Add/Replace Framelayout 中 id 为 fl_main_container
的片段
另加
android:layout_below="@id/toolbar"
对于我提到的框架布局,这基本上可以使工具栏下方的整个部分自由地被片段占据,目前它正在占据整个屏幕从而覆盖工具栏
编辑:
由于地图应该占据整个屏幕,请跳过下面部分的布局....而是使用美妙的 android 绘制视图的方式,只需将工具栏放在 [=28= 中的框架布局下方]... 它应该在 framelayout
上方绘制工具栏
请找到 Activity xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="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:background="@color/white"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_10ssp"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_menu"
android:layout_width="@dimen/_15sdp"
android:layout_height="@dimen/_15sdp"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:layout_marginStart="@dimen/_10sdp"
android:background="@drawable/ic_menu"
android:visibility="visible"
/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/mediumTextInput"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/text"
android:textColor="@color/colorPrimary"
android:textSize="@dimen/_14ssp" />
<com.suke.widget.SwitchButton
android:id="@+id/sb_private"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/_10sdp"
app:sb_background="@color/light3"
app:sb_checked="false"
app:sb_checked_color="@color/colorPrimary"
app:sb_checkline_color="@color/colorPrimary"
app:sb_show_indicator="false"
app:sb_uncheck_color="@color/light3"
app:sb_uncheckcircle_color="@color/white"
/>
</RelativeLayout>
</RelativeLayout>
</androidx.appcompat.widget.Toolbar>
<FrameLayout
android:id="@+id/fl_main_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
</FrameLayout>
</RelativeLayout>
</LinearLayout>
<com.google.android.material.navigation.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/layout_nav_header"
app:menu="@menu/activity_main_drawer"
android:background="@color/white"
android:visibility="visible"
/>
这是我的子片段 xml 文件
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".fragment.MapFragment">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MapsActivity" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/_30sdp"
android:layout_height="@dimen/_30sdp"
android:id="@+id/iv_my_location"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="@dimen/_20sdp"
android:layout_marginEnd="@dimen/_20sdp"
app:srcCompat="@drawable/ic_my_location_light4_with_background"
android:visibility="gone"
/>
</RelativeLayout>
</FrameLayout>
我在子片段中显示地图,我需要在地图顶部位置显示工具栏,(工具栏背景应该对地图透明)
但是,子片段隐藏了工具栏,如何将这个工具栏带入地图?工具栏对所有片段都是通用的。
我的要求是,“地图应该占据整个页面,它不应该低于工具栏,那是我没有在 Framelayout 中给出下面的布局
Add/Replace Framelayout 中 id 为 fl_main_container
的片段另加
android:layout_below="@id/toolbar"
对于我提到的框架布局,这基本上可以使工具栏下方的整个部分自由地被片段占据,目前它正在占据整个屏幕从而覆盖工具栏
编辑:
由于地图应该占据整个屏幕,请跳过下面部分的布局....而是使用美妙的 android 绘制视图的方式,只需将工具栏放在 [=28= 中的框架布局下方]... 它应该在 framelayout
上方绘制工具栏