Toolbar jest uogólnieniem barów działania do stosowania w układach aplikacji, teraz, aby odpowiedzieć na to pytanie są dwie praktyki:
Zła praktyka:
Zła praktyka jest zdefiniowanie Toolbar w każdych layoutów .
praktyka standardowa:
Standardową praktyką jest określenie układ i odniesienie go w działalności podstawowej. Trzeba tylko uwzględnić ten układ paska narzędzi w dowolnym pożądanym układzie (przy użyciu <include>
) i rozszerzyć zdefiniowaną aktywność podstawową w dowolnym działaniu.
Ta standardowa praktyka pomoże ci zachować pojedynczą podstawę kodu dla paska narzędzi Toolbar i za każdym razem zaoszczędzić czas na definiowaniu paska narzędzi Toolbar.
Przykład: Google I/O 2014 android app
toolbar_actionbar_with_headerbar.xml
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:iosched="http://schemas.android.com/apk/res-auto"
style="@style/HeaderBar"
iosched:theme="@style/ActionBarThemeOverlay"
iosched:popupTheme="@style/ActionBarPopupThemeOverlay"
android:id="@+id/toolbar_actionbar"
iosched:titleTextAppearance="@style/ActionBar.TitleText"
iosched:contentInsetStart="?actionBarInsetStart"
android:layout_width="match_parent"
android:layout_height="?actionBarSize" />
Układ ten pasek narzędzi jest wymieniony w działalności ustawień, jak podano poniżej:
activity_settings.xml
<LinearLayout 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:orientation="vertical"
tools:context=".ui.SettingsActivity">
<include layout="@layout/toolbar_actionbar_with_headerbar" />
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
pomocny i bardzo pouczające odpowiedź. Dzięki za pomoc w zrozumieniu tego! – wasimsandhu
@awkwardgiraffe Witamy i pozdrawiam! Google I/O to najlepsza aplikacja typu open source do eksploracji nowych stylów, zaimplementowanych wytycznych i kodu. –
@PareshMayani możesz mi w tym pomóc? http://stackoverflow.com/questions/26903014/android-adt-23-0-4-is-showing-compile-with-api21android-4-xl-preview-instead –