代码之家  ›  专栏  ›  技术社区  ›  AndroidDevBro

影响工具栏样式和位置的导航抽屉碎片

  •  2
  • AndroidDevBro  · 技术社区  · 7 年前

    我正在拼命寻求帮助解决我遇到的问题。所以我一直在关注 this 教程系列,非常棒,但与使用 Bottom Navigation 就像他在视频中一样,我用的是一个带有碎片的“导航抽屉”。

    当我选择 HomeFragment NavigationDrawer ,布局加载,但所有内容都向下推 Toolbar . 现在,工具栏功能齐全,因为汉堡包和更多选项菜单图标确实存在,但白色也不可见,因此它更像是一个设计问题。

    此外,关于 Toolbar's 样式,是的,我特意将其设置为透明,以便完成的UI看起来像下面的“预期输出”图像。

    预期产量 -这就是相同布局在中的外观 HomeActivity 反对,反对 家庭片段

    下面是我的代码 家庭活动 ,其中嵌套 FrameLayout 对于 Fragments

    <?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"
        tools:context="com.example.michaeldybek.plasticoceansapp.HomeActivity">
    
        <FrameLayout
            android:id="@+id/mainContainer"
            android:layout_width="0dp"
            android:layout_height="0dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="@id/toolbar"
            app:layout_constraintTop_toBottomOf="@id/toolbar">
        </FrameLayout>
    
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@null"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:layout_constraintTop_toTopOf="parent" />
    
    </android.support.constraint.ConstraintLayout>
    

    我已宣布并发起 工具栏 家庭活动 类,当 家庭活动 将显示 工具栏 确实存在,这使我怀疑是否必须在 家庭片段 班如果是这样,你会怎么做?

    如果其他布局或类需要任何其他代码,请询问。任何帮助都将不胜感激!

    2 回复  |  直到 7 年前
        1
  •  0
  •   Aniket Bhoite    7 年前

    要么删除 android:background=“@null” 或设置 android:background=“@颜色/颜色主” 在工具栏中

        2
  •  0
  •   AndroidDevBro    7 年前

    因此,经过一周的深入研究,我终于想出了一个绕过这个问题的解决方案!

    我最终移除了 Toolbar FrameLayout 从…起 HomeActivity ,而是创建了一个新的布局资源文件并将其命名为“ app_bar.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">
    
        <android.support.design.widget.CoordinatorLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:context=".core.MainActivity">
    
            <FrameLayout
                android:id="@+id/mainContainer"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />
    
        </android.support.design.widget.CoordinatorLayout>
    
        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/transparent"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:elevation="0dp"
            android:stateListAnimator="@null">
    
            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:theme="@style/ThemeOverlay.AppCompat.Light"/>
    
        </android.support.design.widget.AppBarLayout>
    
    </RelativeLayout>
    

    然后,我将 app_bar 家庭活动 使用布局 include 标记( 家庭活动 还包含 NavigationView 嵌套在 DrawerLayout )。

    我希望这能帮助任何遇到这个问题的人。如果您还有任何疑问,请立即询问!