이런거...
Xamarin, Android : 화면이동 & 이동시 애니메이션 적용 을 기준으로 설명.
일단 서브 페이지도 액션 툴바를 설정한다.
설정하는 방법은 "Action ToolBar 등록 및 메뉴 설정" 을 참고.
메인 화면에 액션툴바를 설정한 것과 동일하게 하면된다.
일단 서브 레이아웃에도 툴바를 등록해 놓고.
SubActivity 에도 툴바를 불러 온다.
메인과 다른 점이라고는 아이콘을 별도로 등록하지 않는다는 것뿐.
이렇게 하면 아이콘까지는 출력되니, 이제는 그 아이콘을 클릭하면 메인 액티비티로 이동 하는 액션을 넣는다.
OnOptionSelected() 를 오버라이드 하면 되며, 거기서 선택한 메뉴의 아이디가 "Android.Resource.Id.Home" 일 경우 실행할 항목을 작성하면 된다.
using Android.App; using Android.Views; using Android.OS; using Android.Support.V7.App; using SupportActionBar = Android.Support.V7.App.ActionBar; namespace son10001app { [Activity(Label = "SubActivity", Theme = "@style/MyTheme")] public class SubActivity : AppCompatActivity { private Android.Support.V7.Widget.Toolbar mToolbar; protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.Sub); mToolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); SetSupportActionBar(mToolbar); SupportActionBar.Title = "서브 페이지"; SupportActionBar.SetDisplayHomeAsUpEnabled(true); } public override bool OnCreateOptionsMenu(IMenu menu) { MenuInflater.Inflate(Resource.Menu.action_menu, menu); return base.OnCreateOptionsMenu(menu); } public override bool OnOptionsItemSelected(IMenuItem item) { switch (item.ItemId) { case Android.Resource.Id.Home: // action menu 의 home(<-) 클릭 OnBackPressed(); return true; } return base.OnOptionsItemSelected(item); } // 뒤로가기 버튼 클릭 public override void OnBackPressed() { Finish(); OverridePendingTransition(Resource.Animation.anim_slide_in_left, Resource.Animation.anim_slide_out_right); } } }
이렇게 작성해 놓고 앱을 실행해 보면...
두개의 페이지가 각각 아이콘을 클릭함으로 페이지 전환이 된다.