我有一个Activity,一个工具栏和几个片段,如何更改从MainActivity传递给片段的工具栏
我试过从fragment1.xml调用工具栏,但它显示两个工具栏一个在另一个之上
这是我称之为片段的地方
R.id.menu_acercade -> {
binding.navegacionInferior.selectedItemId = item.itemId
cerrarDrawer()
false
}
R.id.menu_acercade -> {
intercalarIconosMenu(false)
intercalarPagers(true)
binding.navegacionInferior.menu.getItem(2).isCheckable = true //binding.navegacionInferior.menu.getItem(2).isCheckable = true
binding.viewpagerSecciones.setCurrentItem(0, true) //antes 0
true
}
这是我要更改ActionBar的片段的XML,但每当我添加layou标记时,它都会添加另一个Actionbar示例
<?xml version="1.0" encoding="utf-8"?>
<layout 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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!--<include layout="@layout/toolbar_atras" />-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="542dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="24dp"
android:src="@drawable/about_logo" />
<android.support.v7.widget.AppCompatTextView
style="@style/Titulo.Principal"
android:layout_marginBottom="24dp"
android:text="@string/menu_opcion_acercade" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="36dp"
android:layout_marginRight="36dp"
android:layout_marginBottom="16dp"
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
android:textColor="@color/colorTexto" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="36dp"
android:layout_marginRight="36dp"
android:text="Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
android:textColor="@color/colorTexto" />
</LinearLayout>
<android.support.design.widget.BottomNavigationView
android:id="@+id/navegacionInferior"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="0dp"
android:layout_marginBottom="0dp"
android:background="@color/colorBlanco"
android:paddingEnd="0dp"
android:paddingBottom="0dp"
app:elevation="16dp"
app:itemBackground="@drawable/fondo_navegacioninferior"
app:itemIconTint="@color/colorPrimario"
app:itemTextColor="@color/colorPrimario"
tools:menu="@menu/menu_inferior" />
</LinearLayout>
</layout>
在您的活动中
setSupportActionBar(yourToolbar)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
supportActionBar?.setDisplayShowHomeEnabled(true)
在你的片段中
(activity as? AppCompatActivity)?.supportActionBar?.title = "Your Title"
您的活动布局应该遵循以下示例中的顺序
<android.support.design.widget.CoordinatorLayout
android:id="@+id/main_content"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- AppBarLayout is a wrapper for a Toolbar -->
<!-- Note that AppBarLayout expects to be the first child nested within a CoordinatorLayout -->
<android.support.design.widget.AppBarLayout
android:id="@+id/appBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar">
<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_scrollFlags="scroll|enterAlways" />
</android.support.design.widget.AppBarLayout>
<!-- FrameLayout can be used to insert fragments to display the content of the screen -->
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</android.support.design.widget.CoordinatorLayout>