이런거...
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);
}
}
}
이렇게 작성해 놓고 앱을 실행해 보면...
두개의 페이지가 각각 아이콘을 클릭함으로 페이지 전환이 된다.




