某些选项卡项目的部分区域未在 sharpnado 选项卡上触发点击事件

Partial area of some tab items not firing tap event on sharpnado tabs

我正在使用“Sharpnado Tabs”,但在中间的“BottomTabItems”中触发点击事件时遇到问题。 我有 5 个底部选项卡,您可以看到所附照片,黑色轮廓区域正在触发点击事件并相应地更改视图。但是,标有白色的区域没有做任何事情。

编辑

5 个标签均匀分布在底部面板上。我已将中间选项卡的背景设置为红色,以查看它们覆盖的区域以及触摸有效的位置。设置 InputTransparent="true" 从选项卡的整个区域删除触摸事件。

<sho:ViewSwitcher x:Name="Switcher"
                              Grid.Row="0"
                              Grid.RowSpan="3"
                              Animate="False"
                              SelectedIndex="{Binding SelectedViewModelIndex}">

            <sho:LazyView x:TypeArguments="pages:ProfilePage" BindingContext="{Binding ProfilePageViewModel}" />

        </sho:ViewSwitcher>

        <Image Source="navigationbackground.png" Grid.Row="3" TranslationY="5" />
        <sho:TabHostView x:Name="TabHostLogo"
                             Grid.Row="3"
                             WidthRequest="200"
                             HeightRequest="60"
                             Margin="0"
                             Padding="0,20,0,0"
                             HorizontalOptions="Fill"
                             VerticalOptions="Start"
                             BackgroundColor="Transparent"
                             IsSegmented="False"
                             Orientation="Horizontal"
                             TabType="Fixed"
                             SelectedTabIndexChanged="TabHostLogo_SelectedTabIndexChanged"
                             SelectedIndex="{Binding Source={x:Reference Switcher}, Path=SelectedIndex, Mode=TwoWay}">

            <sho:TabHostView.Tabs>

                <sho:BottomTabItem IconImageSource="homeiconselected.png" IconSize="20" />
                <sho:BottomTabItem IconImageSource="profileicon.png"  IconSize="20"/>

                <sho:TabButton x:Name="TabButton"
                                   IsVisible="True"
                                   ButtonBackgroundColor="Transparent"
                                   ButtonCircleSize="40"
                                   CornerRadius="40"
                                   IconImageSource="navigationaddbutton.png"
                                   TapCommand="{Binding ProfileViewCommand}"
                                   Scale="2.5"
                                   Margin="0,0,0,15"
                                   TranslationY="-20" />
                <sho:BottomTabItem IconImageSource="chaticon.png" IconSize="20"/>
                <sho:BottomTabItem IconImageSource="moreicon.png" IconSize="20"/>

            </sho:TabHostView.Tabs>
        </sho:TabHostView>

问题是由 Scale 属性引起的。不幸的是,这会缩放整个选项卡区域,而不仅仅是圆形按钮。在 Scale=2,每个周围按钮的一半被不可见的扩展选项卡矩形(围绕中间选项卡按钮)遮挡。

如您所见,在 Scale=2.5 处,超过一半的周围标签被隐藏。

我没有找到解决此错误的方法。 (除了不使用 Scale - 但按钮太小或不是圆形,具体取决于您用于 ButtonCircleSize 和 CornerRadius 的值。)

我建议在 github Sharpnado.Tabs issue 上提出这个问题。

如果您这样做,请在该问题中将 link 添加到此 SO 问答中。并在该问题的问题底部添加 link - 这样人们就可以跟踪进度。