На какой платформе вы хотите это изменить?Скорее всего, вам потребуется реализовать пользовательский рендерер для каждой платформы, для которой вы хотите внести это изменение.
Для iOS вы можете добавить новый файл общего класса в проект iOS с именем MyTabbedPageRenderer
.Затем в файле добавьте эту строку над объявлением namespace
:
[assembly: Xamarin.Forms.ExportRenderer(typeof(Xamarin.Forms.TabbedPage), typeof(YourNamespace.MyTabbedPageRenderer))]
, где YourNamespace
- это пространство имен, в котором находится MyTabbedPageRenderer
, то есть пространство имен чуть ниже того места, где у вас есть этот атрибут
Теперь сделайте класс наследуемым от Xamarin.Forms.Platform.iOS.TabbedRenderer
, например:
public class MyTabbedPageRenderer : Xamarin.Forms.Platform.iOS.TabbedRenderer
Затем добавьте следующий метод переопределения к классу:
public override void ViewWillLayoutSubviews()
{
base.ViewWillLayoutSubviews();
var newHeight = TabBar.Frame.Height + 50;
CoreGraphics.CGRect tabFrame = TabBar.Frame; //self.TabBar is IBOutlet of your TabBar
tabFrame.Height = newHeight;
tabFrame.Y = View.Frame.Size.Height - newHeight;
TabBar.Frame = tabFrame;
}
Приведенное выше увеличит панель вкладоквысота на iOS на 50 пикселей от стандартной.Измените 50
на любое значение, которое вам нравится.
А для Android вам на самом деле не нужно создавать пользовательский рендер, так как есть макет Android, в котором вы можете установить minHeight
для TabLayout.Для этого откройте файл Tabbar.axml в папке resources / layout в вашем проекте Android.Затем добавьте атрибут android:minHeight
к элементу android.support.design.widget.TabLayout
:
<android.support.design.widget.TabLayout
...
android:minHeight="300dp"
/>
Это установит высоту в фиксированные 300 пикселей.Установите все, что вы хотите.
Вы также можете установить высоту в методе MainActivity.OnCreate
.Ниже начинается с шаблона Xam.Forms TabbedPage
проекта.Поставьте следующее после LoadApplication(new App())
call:
Android.Support.Design.Widget.TabLayout tabBar = FindViewById<Android.Support.Design.Widget.TabLayout>(Resource.Id.sliding_tabs);
tabBar.SetMinimumHeight(300);
Измените Resource.Id
на android:id
для TabLayout
в файле Tabbar.axml