728x90
이전에 만든 Tool Bar 에 메뉴를 넣어보겠습니다.
이전게시글(http://kjcoder.tistory.com/169)
1. 우선 메뉴에 사용될 아이콘들을 가져옵니다.
여기로 가면 쓸만한 아이콘들이 많이 있습니다.
여기서 다루게될 아이콘들의 모음입니다.
원래 검은색인데 회색으로 변경하였습니다.
일단 준비는 끝났고 위 아이콘들을 drawable 폴더에 추가합니다.
2. 메뉴를 만듭니다.
Resource 폴더 하위에 menu 폴더를 하나만들고 xml 파일을 추가합니다. top_menu.xml 로 만듭니다. (이름은 맘대로)
내용은 아래와 같습니다.
<?xml version="1.0" encoding="utf-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_Add"
android:icon="@drawable/ic_add_black_24dp"
android:showAsAction="ifRoom"
android:title="추가" />
<item
android:id="@+id/menu_Advanced"
android:showAsAction="never"
android:title="Visit Site" />
</menu>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_Add"
android:icon="@drawable/ic_add_black_24dp"
android:showAsAction="ifRoom"
android:title="추가" />
<item
android:id="@+id/menu_Advanced"
android:showAsAction="never"
android:title="Visit Site" />
</menu>
첫번째 메뉴는 추가 메뉴입니다. + 모양의 아이콘으로 보여지게됩니다.
두번째 메뉴는 아이콘이 없는 환경 설정 메뉴로 popup 메뉴를 뜨게 할수 있습니다.
* showAsAction="ifRoom" => TollBar 공간이 있으면 메뉴 항목이 표시됩니다.
* showAsAction="never" => 환경설정 메뉴항목이 설정되는 곳으로 세개의 수직점으로 나타납니다.
미리 보기
3. 메뉴를 보이도록 합니다.
메뉴가 추가될 화면의 Activity 에 아래 코딩을 추가합니다.
public override bool OnCreateOptionsMenu(IMenu menu)
{
MenuInflater.Inflate(Resource.Menu.top_menus, menu);
return base.OnCreateOptionsMenu(menu);
}
OnCreateOptionsMenu 메서드에서 메뉴 리소스를 지정할수 있게 합니다.
4. 메뉴 이벤트를 연결합니다.
public override bool OnOptionsItemSelected(IMenuItem item)
{
Toast.MakeText(this, "Action selected: " + item.TitleFormatted, ToastLength.Short).Show();
return base.OnOptionsItemSelected(item);
}
사용자가 메뉴항목을 클릭하면 OnOptionsItemSelected 메서드를 호출하고 선택한 메뉴 항목을 전달합니다.
여기서 메뉴 Action 처리를 할수 있습니다.
최종화면은 아래와 같이 나타납니다.
728x90
'C# > Xamarin Maui' 카테고리의 다른 글
(Xamarin) Creating Mobile Apps with Xamarin.Forms Book First Edition (0) | 2017.05.02 |
---|---|
(Xamarin) Android Studio vs Xamarin (Visual Studio) 성능 테스트 결과 (0) | 2017.04.30 |
(Xamarin) 나만의 상단 Tool Bar 만들기 (0) | 2017.04.19 |
(Xamarin) Xamarin을 사용한 모바일 개발에 대해 알아보기 (링크) (0) | 2017.04.17 |
(Xamarin) mms 처리 (0) | 2017.04.13 |