Xamarin.forms 如何创建可隐藏的底部视图
我开发了一个包含4个选项卡的Xamarin.Forms.Shell应用程序 我想添加一个基本音频播放器,允许播放来自流媒体源的音乐 但我正在寻找最好的管理方法:Xamarin.forms 如何创建可隐藏的底部视图,xamarin.forms,slider,controls,audio-streaming,drawer,Xamarin.forms,Slider,Controls,Audio Streaming,Drawer,我开发了一个包含4个选项卡的Xamarin.Forms.Shell应用程序 我想添加一个基本音频播放器,允许播放来自流媒体源的音乐 但我正在寻找最好的管理方法: 我不想在专门的页面上显示它,因为我没有音频的元数据(没有相册照片,没有标题,没有作者,…),也没有“播放下一个”或“播放上一个”功能 我想在主页的底部和上方显示一个基本视图,包含3个按钮(播放或暂停/停止/关闭)和收音机的名称 我想这样做: 但我不知道实现这一目标的更好方法是什么: 使用类似的抽屉 使用类似的幻灯片 使用类似的工
- 我不想在专门的页面上显示它,因为我没有音频的元数据(没有相册照片,没有标题,没有作者,…),也没有“播放下一个”或“播放上一个”功能
- 我想在主页的底部和上方显示一个基本视图,包含3个按钮(播放或暂停/停止/关闭)和收音机的名称
- 使用类似的抽屉
- 使用类似的幻灯片
- 使用类似的工作表
所有这些解决方案对于我的需求来说都太复杂了
还有其他方法吗?这是我实施的解决方案 默认情况下,我显示一个浮动操作按钮,该按钮将显示无线电播放器控制面板 在这个面板中,我有“播放”/“停止”控件,收音机标题,还有一个“关闭”按钮来隐藏面板 默认情况下,通过应用
TranslationY
XAML如下所示:
<Grid>
<!-- FloatingActionButton -->
<yummy:PancakeView x:Name="RadioFab"
CornerRadius="28"
Padding="16"
BackgroundColor="{StaticResource AccentColor}"
VerticalOptions="End"
HorizontalOptions="End"
Margin="25">
<yummy:PancakeView.Shadow>
<yummy:DropShadow Offset="1,2"
Color="{StaticResource Gray-Black}"
BlurRadius="2"
Opacity="0.2"/>
</yummy:PancakeView.Shadow>
<Image HeightRequest="24" WidthRequest="24">
<Image.Source ... />
</Image>
<yummy:PancakeView.GestureRecognizers>
<TapGestureRecognizer Tapped="RadioFab_Clicked" />
</yummy:PancakeView.GestureRecognizers>
</yummy:PancakeView>
<!-- Radio player view
<yummy:PancakeView x:Name="RadioPlayerView"
VerticalOptions="End"
HeightRequest="56"
BackgroundColor="{StaticResource Gray-400}"
Opacity="0.9"
TranslationY="56"
IsVisible="True">
<!-- content ... -->
</yummy:PancakeView>
<Grid>
private void RadioFab_Clicked(object sender, EventArgs e)
{
this.RadioFab.ScaleTo(0, easing: Easing.Linear);
this.RadioPlayerView.TranslateTo(0, 0, 300);
}
void Player_CloseButton_Clicked(System.Object sender, System.EventArgs e)
{
this.RadioPlayerView.TranslateTo(0, 56, 300);
this.RadioFab.ScaleTo(1, easing: Easing.SpringOut);
}
“所有这些解决方案似乎都太复杂了”可能是因为你想要实现的事实上是复杂的。你试过了吗?在你提到的3种方法中,有什么不符合你的要求?也许是的。。。在屏幕底部隐藏/显示视图似乎并不复杂,但我没有找到一个简单的方法来实现它。这就是为什么我更愿意问:也许有人已经做了,或者可能有想法……底部标签的想法是,它必须是一种简单的方式,用户可以轻松访问应用程序的不同部分。它们在每个平台上本机工作,因此如果你想隐藏它们,你必须用自定义渲染器弄脏你的手,或者你可以尝试在xamarin表单上实现它,但你必须在每个按钮点击时自己导航。@FabriBertani问题集中在底部选项卡上方的可折叠/可隐藏视图上,而不是底部标签本身。三种回购协议中有一种对你有效吗?(从复杂性的角度来看)。你想要复杂的东西,必须是同样复杂的解决方案。您可以开始实现一个,如果您有问题,请发布特定的问题。我最终通过使用框架和转换实现了一个基本/简单的解决方案。