Xamarin Community Toolkit TabView height
У меня есть представление с изображениями и текстами вверху. Внизу у меня есть TabView с разными TabViewItems. Каждый элемент TabViewItem имеет разную высоту, поскольку каждый из них имеет разное содержимое.
Я хочу, чтобы высота TabView соответствовала высоте TabViewItem, который выше, но я не могу этого сделать.
Если я не укажу свойство TabContentHeight, будут показаны только заголовки TabView, и если я добавлю к нему размер, содержимое TabViewItems будет обрезано. Как правильно это сделать?
2 ответа
Проверьте эту статью для TabView, если вам нужен пользовательский интерфейс нижних вкладок.
- https://devblogs.microsoft.com/xamarin/xamarin-community-toolkit-tabview/
- https://www.sharpnado.com/pure-xamarin-forms-tabs/
Но то, что вы упомянули, что вы хотите увеличивать размер вкладки в соответствии с содержимым, чем я думаю, вам не нужен tabview, для этого вам нужно создать свой собственный CustomView.
Вы также можете использовать для этого элемент управления Syncfusion: https://www.syncfusion.com/kb/11007/how-to-reduce-or-increase-the-tab-header-height-in-xamarin-forms-sftabview
TabView просто предоставляет пользовательский интерфейс:
- Значок и этикетка
- Только значок
- Только текст
И размер его фиксирован.
Вы можете изменить цвет фона для активного / неактивного состояния.
Если я не укажу свойство TabContentHeight, будут показаны только заголовки TabView, и если я добавлю к нему размер, содержимое TabViewItems будет обрезано. Как правильно это сделать?
Может ты попробуешь добавить
ScrollView
в
TabViewItem
содержать контент.
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Image Source="waterfront.jpg" />
<Label Grid.Row="1" Text="this is test" />
<Grid Grid.Row="2">
<xct:TabView
TabContentBackgroundColor="Yellow"
TabIndicatorColor="Yellow"
TabStripBackgroundColor="Blue"
TabStripHeight="60"
TabStripPlacement="Bottom">
<xct:TabViewItem
FontSize="12"
Icon="triangle.png"
Text="Tab 1"
TextColor="White"
TextColorSelected="Yellow">
<ScrollView>
<StackLayout BackgroundColor="Gray">
<Label
HorizontalOptions="Center"
Text="TabContent1"
VerticalOptions="Center" />
<Image Source="waterfront.jpg" />
<Image Source="internet.png" />
</StackLayout>
</ScrollView>
</xct:TabViewItem>
<xct:TabViewItem
FontSize="12"
Icon="circle.png"
Text="Tab 2"
TextColor="White"
TextColorSelected="Yellow">
<Grid>
<Label
HorizontalOptions="Center"
Text="TabContent2"
VerticalOptions="Center" />
</Grid>
</xct:TabViewItem>
</xct:TabView>
</Grid>
</Grid>