我的应用程序包含一个包含导航抽屉的活动。此活动还包含与导航抽屉关联的所有片段。
我想要做的是让每个片段都实现自己的工具栏,因为这些片段中的一些可能对每个片段/屏幕中的每个工具栏都有不同的主题或背景。
问题是,一旦我为每个片段实现了工具栏,汉堡包图标就会消失并被后箭头取代。导航抽屉仍然有效,但后退箭头具有误导性,因为箭头应该是与导航抽屉连接的每个片段的汉堡图标。
使用导航抽屉实现工具栏的正确方法是什么,并且可以自由更改工具栏的任何属性并保留汉堡包图标。
<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"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<include layout="@layout/standard_toolbar" />
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/my_toolbar" >
</FrameLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:orientation="vertical" >
<ListView
android:id="@+id/left_drawer"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@android:color/white"
android:choiceMode="singleChoice"
android:divider="@color/navigation_drawer_line_color"
android:dividerHeight="0.4dp"
android:listSelector="@drawable/list_selector" />
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
这是我的活动中的代码,其中包含带有子片段和工具栏的导航抽屉。
答案 0 :(得分:1)
getActivity().findViewById(R.id.toolbar)
会在Toolbar
中为您提供Fragments
的参考。
因此,从这一点开始,您可以控制背景,增加菜单,更改标题,通常与旧ActionBar
一样。
关于以编程方式对工具栏进行主题化,它不是possible。