Я думаю, вы можете использовать пользовательский заголовок, добавив TextView
в Toolbar
. Это на самом деле не решит проблему, но позволит вам добавить ваше меню под TextView
, используя пользовательский макет внутри Toolbar
.
и добавить меню в определенном месте в Toolbar
, вы можете использовать ActionMenuView
и программно добавлять меню в onCreateOptionsMenu()
обратный вызов активности, а также обрабатывать щелчки меню с помощью onOptionsItemSelected
MainActivity
public class MainActivity extends AppCompatActivity {
private ActionMenuView mMenuView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Inflating ActionMenuView
mMenuView = findViewById(R.id.menu_view);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Adding menu to the ActionMenuView
getMenuInflater().inflate(R.menu.a_menu, mMenuView.getMenu());
return true;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
// handle menu clicks
return super.onOptionsItemSelected(item);
}
}
Ваша панель инструментов
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="156dp"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
android:layout_margin="5dp"
android:animateLayoutChanges="true"
android:background="#fff"
android:elevation="8dp"
android:gravity="top">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:orientation="vertical">
<TextView
android:id="@+id/toolbar_title"
style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="16dp"
android:text="3 E Main Street" />
<androidx.appcompat.widget.ActionMenuView
android:id="@+id/menu_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</androidx.appcompat.widget.Toolbar>
Как это выглядит