Saltar al contenido

Xamarin.Forms: cambie el tamaño del icono y del texto en las pestañas de TabbedPage

Recabamos en todo el mundo on line para así traerte la respuesta para tu duda, si tienes preguntas deja la pregunta y te contestaremos porque estamos para ayudarte.

Solución:

En tu proyecto de Android Resources/values/style.xml archivo, puede crear un estilo:


Y luego en tu Resources/layout/tabs.axml archivo, puede usar el estilo:


En cuanto al ícono, prueba esto: https://stackoverflow.com/a/46465233/3183946

Y, por cierto, creo que “Dairy” debería ser “Diary” en tu aplicación.

Después de un poco de esfuerzo, lo hago funcionar para Android usando TabbedPageRenderer. Diseño personalizado creado con ImageView & TetxtView abajo Custom_tab_layou.xaml



    
    

Creado MyTabbedPageRenderer clase

    public class MyTabbedPageRenderer : TabbedPageRenderer
    
        private Dictionary icons = new Dictionary();
        bool setup;
        ViewPager pager;
        TabLayout layout;
        public MyTabbedPageRenderer(Context context) : base(context)
        
        

        protected override void SetTabIcon(TabLayout.Tab tab, FileImageSource icon)
        
            base.SetTabIcon(tab, icon);
            tab.SetCustomView(Resource.Layout.Custom_tab_layou);

            var imageview = tab.CustomView.FindViewById(Resource.Id.icon);
            var tv = tab.CustomView.FindViewById(Resource.Id.tv);

            tv.SetText(tab.Text, TextView.BufferType.Normal);
            imageview.SetBackgroundDrawable(tab.Icon);

            ColorStateList colors2 = null;

            if ((int)Build.VERSION.SdkInt >= 23)
                colors2 = Resources.GetColorStateList(Resource.Color.icon_tab, Forms.Context.Theme);
            else
                colors2 = Resources.GetColorStateList(Resource.Color.icon_tab);
            tv.SetTextColor(colors2);
        

        //this is for changing text color of select tab
        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;
                ColorStateList colors = null;

                if ((int)Build.VERSION.SdkInt >= 23)
                    colors = Resources.GetColorStateList(Resource.Color.icon_tab, Forms.Context.Theme);
                else
                    colors = Resources.GetColorStateList(Resource.Color.icon_tab);

                for (int i = 0; i < layout.TabCount; i++)
                
                    var tab = layout.GetTabAt(i);
                    var icon = tab.Icon;

                    Android.Views.View view = GetChildAt(i);
                    if (view is TabLayout) layout = (TabLayout)view;

                    if (icon != null)
                    
                        icon = Android.Support.V4.Graphics.Drawable.DrawableCompat.Wrap(icon);
                        Android.Support.V4.Graphics.Drawable.DrawableCompat.SetTintList(icon, colors);
                    
                
            
        
  

Te mostramos las reseñas y valoraciones de los usuarios

Tienes la opción de asentar nuestro ensayo ejecutando un comentario o valorándolo te estamos eternamente agradecidos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *