두 번째 도구 모음 추가
개요
작업 표시줄을 Toolbar
바꾸는 것 이상의 작업을 수행할 수 있습니다. 활동 내에서 여러 번 사용할 수 있고, 화면의 어느 위치에 배치하도록 사용자 지정할 수 있으며, 화면의 일부 너비에만 적용되도록 구성할 수 있습니다. 아래 예제에서는 두 번째 Toolbar
를 만들어 화면 아래쪽에 배치하는 방법을 보여 줍니다.
그러면 Toolbar
복사, 잘라내기 및 붙여넣기 메뉴 항목이 구현됩니다.
두 번째 도구 모음 정의
레이아웃 파일 Main.axml 을 편집하고 해당 내용을 다음 XML로 바꿉니다.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar" />
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/main_content"
android:layout_below="@id/toolbar">
<ImageView
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<Toolbar
android:id="@+id/edit_toolbar"
android:minHeight="?android:attr/actionBarSize"
android:background="?android:attr/colorAccent"
android:theme="@android:style/ThemeOverlay.Material.Dark.ActionBar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</RelativeLayout>
이 XML은 화면 중간에 빈 ImageView
채우기를 사용하여 화면 아래쪽에 초 Toolbar
를 추가합니다. 이 Toolbar
높이가 작업 표시줄의 높이로 설정됩니다.
android:minHeight="?android:attr/actionBarSize"
이 Toolbar
배경색은 다음에 정의될 테마 컬러로 설정됩니다.
android:background="?android:attr/colorAccent
이는 Toolbar
작업 표시줄 바꾸기에서 만든 테마와 다른 테마(ThemeOverlay.Material.Dark.ActionBar)Toolbar
를 기반으로 하며 활동의 창 장식이나 첫 번째 Toolbar
테마에 바인딩되지 않습니다.
리소스/값/styles.xml 편집하고 스타일 정의에 다음 강조색을 추가합니다.
<item name="android:colorAccent">#C7A935</item>
그러면 아래쪽 도구 모음에 진한 주황색이 표시됩니다. 앱을 빌드하고 실행하면 화면 아래쪽에 빈 두 번째 도구 모음이 표시됩니다.
편집 메뉴 항목 추가
이 섹션에서는 편집 메뉴 항목을 아래쪽 Toolbar
에 추가하는 방법을 설명합니다.
보조 항목에 메뉴 항목을 추가하려면 다음을 수행합니다.Toolbar
앱 프로젝트의 폴더에
mipmap-
메뉴 아이콘을 추가합니다(필요한 경우).리소스/메뉴에 추가 메뉴 리소스 파일을 추가하여 메뉴 항목의 내용을 정의합니다.
활동의
OnCreate
메서드에서 (호출FindViewById
하여Toolbar
) 찾은 후 '의 메뉴를 확장Toolbar
합니다.새 메뉴 항목에
OnCreate
대한 클릭 처리기를 구현합니다.
다음 섹션에서는 이 프로세스를 자세히 보여 줍니다. 잘라내기, 복사 및 붙여넣 기 메뉴 항목이 아래쪽 Toolbar
에 추가됩니다.
편집 메뉴 리소스 정의
리소스/메뉴 하위 디렉터리에서 edit_menus.xml이라는 새 XML 파일을 만들고 내용을 다음 XML로 바꿉니다.
<?xml version="1.0" encoding="utf-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_cut"
android:icon="@mipmap/ic_menu_cut_holo_dark"
android:showAsAction="ifRoom"
android:title="Cut" />
<item
android:id="@+id/menu_copy"
android:icon="@mipmap/ic_menu_copy_holo_dark"
android:showAsAction="ifRoom"
android:title="Copy" />
<item
android:id="@+id/menu_paste"
android:icon="@mipmap/ic_menu_paste_holo_dark"
android:showAsAction="ifRoom"
android:title="Paste" />
</menu>
이 XML은 잘라내기, 복사 및 붙여넣기 메뉴 항목을 만듭니다(작업 모음 바꾸기의 mipmap-
폴더에 추가된 아이콘 사용).
메뉴 확장
MainActivity.cs 메서드의 OnCreate
끝에 다음 코드 줄을 추가합니다.
var editToolbar = FindViewById<Toolbar>(Resource.Id.edit_toolbar);
editToolbar.Title = "Editing";
editToolbar.InflateMenu (Resource.Menu.edit_menus);
editToolbar.MenuItemClick += (sender, e) => {
Toast.MakeText(this, "Bottom toolbar tapped: " + e.Item.TitleFormatted, ToastLength.Short).Show();
};
이 코드는 edit_toolbar
Main.axml에 정의된 보기를 찾고, 제목을 편집으로 설정하고, 메뉴 항목(edit_menus.xml 정의됨)을 확장합니다. 탭된 편집 아이콘을 나타내는 알림을 표시하는 메뉴 클릭 처리기를 정의합니다.
앱을 빌드하고 실행합니다. 앱이 실행되면 위에 추가된 텍스트와 아이콘이 다음과 같이 표시됩니다.
잘라내기 메뉴 아이콘을 탭하면 다음 알림이 표시됩니다.
두 도구 모음에서 메뉴 항목을 탭하면 결과 알림이 표시됩니다.
위쪽 단추
대부분의 Android 앱은 앱 탐색을 위해 뒤로 단추를 사용합니다. 뒤로 단추를 누르면 사용자가 이전 화면으로 이동합니다. 그러나 사용자가 앱의 기본 화면으로 "위쪽"으로 쉽게 이동할 수 있도록 하는 Up 단추를 제공할 수도 있습니다. 사용자가 위로 단추를 선택하면 사용자는 앱 계층 구조에서 더 높은 수준으로 이동합니다. 즉, 앱은 사용자가 이전에 방문한 활동으로 다시 팝업하지 않고 백 스택에서 여러 활동을 다시 표시합니다.
작업 표시줄로 사용하는 Toolbar
두 번째 작업에서 Up 단추를 사용하도록 설정하려면 두 번째 작업의 OnCreate
메서드에서 해당 및 SetHomeButtonEnabled
메서드를 호출 SetDisplayHomeAsUpEnabled
합니다.
SetActionBar (toolbar);
...
ActionBar.SetDisplayHomeAsUpEnabled (true);
ActionBar.SetHomeButtonEnabled (true);