Files
SteamTools/System.Common.ClientLib.Droid/Application/UI/Adapters/ViewPagerWithTabLayoutAdapter.cs
T
2021-02-20 16:45:44 +08:00

31 lines
912 B
C#

using AndroidX.Fragment.App;
using Google.Android.Material.Tabs;
namespace System.Application.UI.Adapters
{
public class ViewPagerWithTabLayoutAdapter : ViewPagerAdapter, TabLayoutMediator.ITabConfigurationStrategy
{
public new interface IHost : ViewPagerAdapter.IHost
{
string GetPageTitle(int position);
}
readonly IHost host;
public ViewPagerWithTabLayoutAdapter(IHost host, Fragment fragment) : base(host, fragment)
{
this.host = host;
}
public ViewPagerWithTabLayoutAdapter(IHost host, FragmentActivity activity) : base(host, activity)
{
this.host = host;
}
void TabLayoutMediator.ITabConfigurationStrategy.OnConfigureTab(TabLayout.Tab tab, int position)
{
var title = host.GetPageTitle(position);
tab.SetText(title);
}
}
}