Изменить размер вкладки в шаблоне страницы с вкладками xamarin - PullRequest
0 голосов
/ 12 октября 2018

Я потратил 2 дня на поиски ответа на этот вопрос, и я просто не могу найти решение.Все, что я пытаюсь сделать, это изменить размер «вкладки» в Android для шаблона, который использует скользящие вкладки.Я попытался использовать пользовательский рендерер, стили, установить его программно, и ничего не получится, что я хочу.Однако я могу изменить размер ползунка, шрифт и все остальное, но изменить высоту панели вкладок на странице с вкладками, по-видимому, невозможно.Если у кого-то есть какие-либо решения для этого, пожалуйста, дайте мне знать.Я могу сделать это, если я настрою проект за пределами Xamarin.forms, но я действительно стараюсь поддерживать хорошее кроссплатформенное решение, а не создавать несколько для iOS и Android.

1 Ответ

0 голосов
/ 12 октября 2018

Попробуйте использовать следующий код:

public class StyledTabbedPageRenderer : TabbedPageRenderer
{
    private Android.Views.View formViewPager = null;
    private TabLayout tabLayout = null;

    protected override void OnElementChanged(ElementChangedEventArgs<TabbedPage> e)
    {
        base.OnElementChanged(e);

        this.tabLayout = (TabLayout)this.GetChildAt(1);

        changeTabsFont();
    }

    private void changeTabsFont()
    {
        //Typeface font = Typeface.CreateFromAsset(Android.App.Application.Context.Assets, "fonts/" + Constants.FontStyle);
        ViewGroup vg = (ViewGroup)tabLayout.GetChildAt(0);
        int tabsCount = vg.ChildCount;
        for (int j = 0; j < tabsCount; j++)
        {
            ViewGroup vgTab = (ViewGroup)vg.GetChildAt(j);
            int tabChildsCount = vgTab.ChildCount;
            for (int i = 0; i < tabChildsCount; i++)
            {
                Android.Views.View tabViewChild = vgTab.GetChildAt(i);
                if (tabViewChild is TextView)
                {
                    //((TextView)tabViewChild).Typeface = font;
                    ((TextView)tabViewChild).TextSize = 6;

                }
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...