void UpdateBarTextColor() { if (_disposed || _tabLayout == null) { return; } int currentColor = _tabLayout.TabTextColors.DefaultColor; if (!_defaultColor.HasValue) { _defaultColor = currentColor; } Color newTextColor = Element.BarTextColor; int newTextColorArgb = newTextColor.ToAndroid().ToArgb(); if (!newTextColor.IsDefault && currentColor != newTextColorArgb) { _tabLayout.SetTabTextColors(newTextColorArgb, newTextColorArgb); } else if (newTextColor.IsDefault && _defaultColor.HasValue && currentColor != _defaultColor) { _tabLayout.SetTabTextColors(_defaultColor.Value, _defaultColor.Value); } }
private void SetVideoPlayerFragmentAdapters() { try { TabLayoutView = FindViewById <TabLayout>(Resource.Id.tabs); ViewPagerView = FindViewById <ViewPager>(Resource.Id.viewPager); TabAdapter = new MainTabAdapter(SupportFragmentManager); TabVideosComment = new VideosCommentFragment(); TabVideosAbout = new VideosAboutFragment(); TabAdapter.AddFragment(TabVideosAbout, GetString(Resource.String.Lbl_About)); TabAdapter.AddFragment(TabVideosComment, GetString(Resource.String.Lbl_Comment)); ViewPagerView.CurrentItem = 2; ViewPagerView.OffscreenPageLimit = TabAdapter.Count; ViewPagerView.Adapter = TabAdapter; TabLayoutView.SetupWithViewPager(ViewPagerView); TabLayoutView.SetTabTextColors(AppSettings.SetTabDarkTheme ? Color.White : Color.Black, Color.ParseColor(AppSettings.MainColor)); } catch (Exception e) { Console.WriteLine(e); } }
void FnInitTabLayout() { tabLayout.SetTabTextColors(Android.Graphics.Color.Aqua, Android.Graphics.Color.AntiqueWhite); //Fragment array var fragments = new Android.Support.V4.App.Fragment[] { new IconTextCallFragment(), new IconTextDataFragment(), }; //Tab title array var titles = CharSequence.ArrayFromStringArray(new[] { GetString(Resource.String.strCall), GetString(Resource.String.strData), }); var viewPager = FindViewById <ViewPager>(Resource.Id.viewpagerIcon); //viewpager holding fragment array and tab title text viewPager.Adapter = new TabsFragmentPagerAdapter(SupportFragmentManager, fragments, titles); // Give the TabLayout the ViewPager tabLayout.SetupWithViewPager(viewPager); //tabLayout.SetTabTextColors( FnSetIcons(); //FnSetupTabIconsWithText (); }
void FnInitTabLayout() { tabLayout.SetTabTextColors(Android.Graphics.Color.Aqua, Android.Graphics.Color.AntiqueWhite); //Fragment array var fragments = new Android.Support.V4.App.Fragment[] { new BlueFragment(), new GreenFragment(), new YellowFragment(), }; //Tab title array var titles = CharSequence.ArrayFromStringArray(new[] { "Blue", "Green", "Yellow", }); var viewPager = FindViewById <ViewPager>(Resource.Id.viewpager); //viewpager holding fragment array and tab title text viewPager.Adapter = new TabsFragmentPagerAdapter(SupportFragmentManager, fragments, titles); // Give the TabLayout the ViewPager tabLayout.SetupWithViewPager(viewPager); //tabLayout.SetTabTextColors( }
private void InitComponent() { try { ViewPager = FindViewById <ViewPager>(Resource.Id.viewpager); TabLayout = FindViewById <TabLayout>(Resource.Id.tabs); ViewPager.OffscreenPageLimit = 5; SetUpViewPager(ViewPager); ViewPager.AddOnPageChangeListener(this); TabLayout.SetupWithViewPager(ViewPager); TabLayout.SetTabTextColors(AppSettings.SetTabDarkTheme ? AppSettings.TitleTextColorDark : AppSettings.TitleTextColor, Color.ParseColor(AppSettings.MainColor)); ActionButton = FindViewById <TextView>(Resource.Id.toolbar_title); ActionButton.Text = GetText(Resource.String.Lbl_ApplyFilter); ActionButton.SetTextColor(AppSettings.SetTabDarkTheme ? AppSettings.TitleTextColorDark : AppSettings.TitleTextColor); ResetFilterButton = FindViewById <Button>(Resource.Id.ResetFilterButton); ResetFilterButton.Text = GetText(Resource.String.Lbl_ResetFilter); } catch (Exception e) { Console.WriteLine(e); } }
private void UpdateTextColors(TabLayout tabLayout) { if (TabPage.SelectedTabItemTextColor.HasValue) { tabLayout.SetTabTextColors(TabPage.BarTextColor.ToAndroid(), TabPage.SelectedTabItemTextColor.Value.ToAndroid()); } }
private void FnInitTabLayout() { tabLayout.SetTabTextColors(Android.Graphics.Color.Aqua, Android.Graphics.Color.AntiqueWhite); //Fragment array UserFragment userFragment = new UserFragment(); RubricFragment rubricFragment = new RubricFragment(); RatingFragment ratingFragment = new RatingFragment(); ReporteFragment reporteFragment = new ReporteFragment(); Repository.mActionGetRubrAdapter = GetRubricAdapter; Repository.mActionGetArrey = GetArrey; Repository.mActionGetAdapter = GetUserAdapter; ratingFragment.mActionGetArreyRep = GetRatingAdapter; reporteFragment.mActionGetArrey = GetReporteAdapter; if (Repository.UserId == 61) { var fragments = new Android.Support.V4.App.Fragment[] { userFragment, rubricFragment, ratingFragment, reporteFragment, }; //Tab title array var titles = CharSequence.ArrayFromStringArray(new[] { "Пользователи", "Рубрики", "Рейтинг", "Отчёт", }); var viewPager = FindViewById <ViewPager>(Resource.Id.viewpager); //viewpager holding fragment array and tab title text viewPager.Adapter = new TabsFragmentPagerAdapter(SupportFragmentManager, fragments, titles); // Give the TabLayout the ViewPager tabLayout.SetupWithViewPager(viewPager); } else if (Repository.UserId != 61) { var fragments = new Android.Support.V4.App.Fragment[] { rubricFragment, ratingFragment, }; //Tab title array var titles = CharSequence.ArrayFromStringArray(new[] { "Рубрики", "Рейтинг", }); var viewPager = FindViewById <ViewPager>(Resource.Id.viewpager); //viewpager holding fragment array and tab title text viewPager.Adapter = new TabsFragmentPagerAdapter(SupportFragmentManager, fragments, titles); // Give the TabLayout the ViewPager tabLayout.SetupWithViewPager(viewPager); } }
protected virtual void SetColors(TabLayout tabLayout, Color foreground, Color background, Color title, Color unselected) { var titleArgb = title.ToPlatform(ShellRenderer.DefaultTitleColor).ToArgb(); var unselectedArgb = unselected.ToPlatform(ShellRenderer.DefaultUnselectedColor).ToArgb(); tabLayout.SetTabTextColors(unselectedArgb, titleArgb); tabLayout.SetBackground(new ColorDrawable(background.ToPlatform(ShellRenderer.DefaultBackgroundColor))); tabLayout.SetSelectedTabIndicatorColor(foreground.ToPlatform(ShellRenderer.DefaultForegroundColor)); }
void SetupTabColors() { _tabLayout.SetSelectedTabIndicatorColor(_selectedColor); _tabLayout.SetTabTextColors(_unselectedColor, _selectedColor); for (int i = 0; i < _tabLayout.TabCount; i++) { var tab = _tabLayout.GetTabAt(i); tab.Icon?.SetColorFilter(_unselectedColor, PorterDuff.Mode.SrcIn); } }
/// <summary> /// Called on first binding of <see cref="VectorIconTabbedPage"/>. Sets <see cref="Android"/> View to /// use for <see cref="TabLayout"/>, and sets <see cref="TabLayout.TabTextColors"/> /// </summary> /// <param name="e"></param> protected override void OnElementChanged(ElementChangedEventArgs <TabbedPage> e) { base.OnElementChanged(e); _tbLayout = FindViewById <TabLayout>(TabLayoutResourceID); var element = Element as VectorIconTabbedPage; _tbLayout.SetTabTextColors(element.UnselectedIconColor.ToAndroid(), element.SelectedIconColor.ToAndroid()); }
void UpdateBarTextColor() { if (_disposed || _tabLayout == null) { return; } Color textColor = Element.BarTextColor; if (!textColor.IsDefault) { _tabLayout.SetTabTextColors(textColor.ToAndroid().ToArgb(), textColor.ToAndroid().ToArgb()); } }
private void InitComponent() { try { ViewPager = FindViewById <ViewPager2>(Resource.Id.viewpager); TabLayout = FindViewById <TabLayout>(Resource.Id.tabs); SetUpViewPager(ViewPager); new TabLayoutMediator(TabLayout, ViewPager, this).Attach(); TabLayout.SetTabTextColors(AppSettings.SetTabDarkTheme ? Color.White : Color.Black, Color.ParseColor(AppSettings.MainColor)); } catch (Exception e) { Methods.DisplayReportResultTrack(e); } }
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e) { base.OnElementPropertyChanged(sender, e); if (setup) { return; } if (e.PropertyName == "Renderer") { tabbedPage = (CoreTabbedPage)Element; if (!tabbedPage.IsToolbarBottom) { //var groupName = ViewGroup.GetChildAt(0).GetType().Name; layout = (TabLayout)ViewGroup.GetChildAt(1); setup = true; ColorStateList colors = CreateColorState(); layout?.SetTabTextColors(tabbedPage.UnSelectedForegroundColor.ToAndroid(), tabbedPage.SelectedForegroundColor.ToAndroid()); if (tabbedPage.TabBackgroundColor != Color.Default) { layout?.SetBackgroundColor(tabbedPage.TabBackgroundColor.ToAndroid()); } if (layout != null) { for (int i = 0; i < layout.TabCount; i++) { var tab = layout.GetTabAt(i); var icon = tab.Icon; if (icon != null) { icon = DrawableCompat.Wrap(icon); DrawableCompat.SetTintList(icon, colors); } } } } } }
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e) { base.OnElementPropertyChanged(sender, e); if (setup) { return; } if (e.PropertyName == "Renderer") { pager = (ViewPager)ViewGroup.GetChildAt(0); layout = (TabLayout)ViewGroup.GetChildAt(1); setup = true; layout.SetBackgroundColor(Android.Graphics.Color.White); layout.SetTabTextColors(Android.Graphics.Color.Black, Android.Graphics.Color.Red); } }
private void InitTabLayout() { tabLayout.SetTabTextColors(Color.Aqua, Color.AntiqueWhite); var fragments = new Fragment[] { myDebtsListFragment = new DebtListFragment(Debts, debt => !debt.IsPaid && debt.IsMyDebt), theirDebtsListFragment = new DebtListFragment(Debts, debt => !debt.IsPaid && debt.IsTheirDebt) }; var titles = CharSequence.ArrayFromStringArray(new[] { GetString(Resource.String.taken_debts), GetString(Resource.String.given_debts) }); var viewPager = FindViewById <ViewPager>(Resource.Id.viewpager); viewPager.Adapter = new TabsFragmentPagerAdapter(SupportFragmentManager, fragments, titles); tabLayout.SetupWithViewPager(viewPager); initialized = true; }
private void SetUpViewPager(ViewPager viewPager) { try { UserTab = new SearchUserFragment(); HashTagTab = new SearchHashtagFragment(); MainTabAdapter adapter = new MainTabAdapter(ChildFragmentManager); adapter.AddFragment(UserTab, GetText(Resource.String.Lbl_Users)); adapter.AddFragment(HashTagTab, GetText(Resource.String.Lbl_HashTags)); viewPager.Adapter = adapter; TabLayout.SetTabTextColors(AppSettings.SetTabDarkTheme ? Color.White : Color.Black, Color.ParseColor(AppSettings.MainColor)); } catch (Exception exception) { Console.WriteLine(exception); } }
void FnInitTabLayout() { var fragments = new Fragment[] { new MapViewFragment(), new ListViewFragment(), }; var titles = CharSequence.ArrayFromStringArray(new[] { "Map View", "List View", }); viewPager.Adapter = new ViewPagerAdapter(ChildFragmentManager, fragments, titles); tabLayout.SetTabTextColors(Color.Rgb(192, 192, 192), Color.Rgb(62, 133, 199)); tabLayout.SetupWithViewPager(viewPager); // tabLayout.GetTabAt(0).SetIcon(Resource.Drawable.home2); }
//public override void OnBackPressed() //{ // try // { // ExitHandler ??= new Handler(Looper.MainLooper); // if (RecentlyBackPressed) // { // ExitHandler.RemoveCallbacks(() => { RecentlyBackPressed = false; }); // RecentlyBackPressed = false; // MoveTaskToBack(true); // Finish(); // } // else // { // RecentlyBackPressed = true; // Toast.MakeText(this, GetString(Resource.String.press_again_exit), ToastLength.Long)?.Show(); // ExitHandler.PostDelayed(() => { RecentlyBackPressed = false; }, 2000L); // } // } // catch (Exception exception) // { // Methods.DisplayReportResultTrack(exception); // } //} #endregion #region Functions private void InitComponent(View view) { try { DiscoverImageView = view.FindViewById <ImageView>(Resource.Id.discoverButton); SearchImageView = view.FindViewById <ImageView>(Resource.Id.searchButton); MoreImageView = view.FindViewById <ImageView>(Resource.Id.moreButton); TxtAppName = view.FindViewById <TextView>(Resource.Id.appName); //FloatingActionFilter = FindViewById<FloatingActionButton>(Resource.Id.floatingActionFilter); TxtAppName.Text = GetText(Resource.String.Lbl_Tab_Chats); //FloatingActionButtonView = view.FindViewById<FrameLayout>(Resource.Id.FloatingAction); //FloatingActionImageView = view.FindViewById<ImageView>(Resource.Id.Image); //FloatingActionTag = "lastMessages"; //FloatingActionButtonView.Visibility = ViewStates.Visible; Tabs = view.FindViewById <TabLayout>(Resource.Id.tabsLayout); ViewPager = view.FindViewById <ViewPager2>(Resource.Id.viewpager); SetUpViewPager(ViewPager); new TabLayoutMediator(Tabs, ViewPager, this).Attach(); //var tab = Tabs.GetTabAt(0); //Lbl_Tab_Chats ////set custom view //tab.SetCustomView(Resource.Layout.IconBadgeLayout); //TextView textView = (TextView)tab.CustomView.FindViewById(Resource.Id.text); //textView.Visibility = ViewStates.Gone; //var d = Color.ParseColor(""); Tabs.SetTabTextColors(AppSettings.SetTabDarkTheme ? Color.White : Color.DimGray, Color.ParseColor(AppSettings.MainColor)); } catch (Exception e) { Methods.DisplayReportResultTrack(e); } }
private void SetUpViewPager(ViewPager viewPager) { try { SongsTab = new SearchSongsFragment(); AlbumsTab = new SearchAlbumsFragment(); PlaylistTab = new SearchPlaylistFragment(); ArtistsTab = new SearchArtistsFragment(); MainTabAdapter adapter = new MainTabAdapter(ChildFragmentManager); adapter.AddFragment(SongsTab, GetText(Resource.String.Lbl_Songs)); adapter.AddFragment(AlbumsTab, GetText(Resource.String.Lbl_Albums)); adapter.AddFragment(PlaylistTab, GetText(Resource.String.Lbl_Playlist)); adapter.AddFragment(ArtistsTab, GetText(Resource.String.Lbl_Artists)); viewPager.OffscreenPageLimit = 4; viewPager.Adapter = adapter; TabLayout.SetTabTextColors(AppSettings.SetTabDarkTheme ? Color.White : Color.Black, Color.ParseColor(AppSettings.MainColor)); } catch (Exception exception) { Console.WriteLine(exception); } }
protected override void OnElementChanged(ElementChangedEventArgs <TabbedPage> e) { base.OnElementChanged(e); var fieldInfo = typeof(TabbedPageRenderer).GetField("_tabLayout", BindingFlags.Instance | BindingFlags.NonPublic); _tabs = (TabLayout)fieldInfo.GetValue(this); var teardownPage = typeof(TabbedPageRenderer).GetMethod("TeardownPage", BindingFlags.Instance | BindingFlags.NonPublic); _window = (Context as FormsAppCompatActivity).Window; if (e.OldElement != null) { } if (e.NewElement != null) { _tabbedEx = Element as TabbedPageEx; if (!_tabbedEx.IsDefaultColor) { //OnTabSelectedListenerを上書きする _tabs.SetOnTabSelectedListener(this); } // https://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Platform.Android/AppCompat/TabbedPageRenderer.cs#L297 // OnPagePropertyChangedでいらんことしてるので即TeardownPageを呼び出して解除する // (TabのTextを子ページのTitleと連動させているが、TabのTextはTabAttributeで設定するようにしているので不要) foreach (var page in Element.Children) { teardownPage.Invoke(this, new object[] { page }); } for (var i = 0; i < _tabbedEx.TabAttributes.Count; i++) { var attr = _tabbedEx.TabAttributes[i]; if (i == 0 && _tabbedEx.Parent is NavigationPageEx) { var navi = _tabbedEx.Parent as NavigationPageEx; navi.BarTextColor = _tabbedEx.BarTextColor; if (attr.BarTextColor != Xamarin.Forms.Color.Default) { navi.BarTextColor = attr.BarTextColor; } navi.StatusBarBackColor = _tabbedEx.StatusBarBackColor; if (attr.StatusBarBackColor != Xamarin.Forms.Color.Default) { navi.StatusBarBackColor = attr.StatusBarBackColor; } _tabbedEx.Title = (_tabbedEx.CurrentPage as Page).Title; _tabbedEx.CurrentPage.PropertyChanged += CurrentPage_PropertyChanged; var renderer = Platform.GetRenderer(navi) as NavigationPageExRenderer; renderer.UpdateMenu(); } if (string.IsNullOrEmpty(attr.Resource)) { continue; } var bitmap = SvgToBitmap.GetBitmap(attr.Resource, 24, 24); var icon = new BitmapDrawable(Context.Resources, bitmap); var tab = _tabs.GetTabAt(i); tab.SetIcon(icon); if (!_tabbedEx.IsDefaultColor || !attr.IsDefaultColor) { var color = _tabbedEx.SelectedColor.ToAndroid(); if (i == 0) { if (attr.SelectedColor != Xamarin.Forms.Color.Default) { color = attr.SelectedColor.ToAndroid(); } _tabs.SetSelectedTabIndicatorColor(color); if (_tabbedEx.StatusBarBackColor != Xamarin.Forms.Color.Default) { _window.SetStatusBarColor(_tabbedEx.StatusBarBackColor.ToAndroid()); } else if (attr.StatusBarBackColor != Xamarin.Forms.Color.Default) { _window.SetStatusBarColor(attr.StatusBarBackColor.ToAndroid()); } } else { color = _tabbedEx.UnSelectedColor.ToAndroid(); if (attr.UnSelectedColor != Xamarin.Forms.Color.Default) { color = attr.UnSelectedColor.ToAndroid(); } } tab.Icon.SetTint(color); _tabs.SetTabTextColors(_tabbedEx.UnSelectedTextColor.ToAndroid(), _tabbedEx.SelectedTextColor.ToAndroid()); } if (_tabbedEx.IsTextHidden) { tab.SetText(""); } } } }