Панель инструментов — это обобщение панелей действий для использования в макетах приложений. Теперь, чтобы ответить на ваш вопрос, есть две практики:
Плохая практика:
Плохая практика — определять панель инструментов в каждом макете.
Стандартная практика:
Стандартной практикой является определение макета и ссылка на него в базовой активности. Вам просто нужно включить этот макет панели инструментов в любой макет, который вы хотите (используя <include>
), и расширить определенное базовое действие в любом действии.
Эта стандартная практика поможет вам сохранить единую кодовую базу для панели инструментов и сэкономить время, связанное с определением панели инструментов каждый раз.
Пример: приложение Google I/O 2014 для Android
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" />
На этот макет панели инструментов ссылаются в настройках, как показано ниже:
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>
person
Paresh Mayani
schedule
03.11.2014