Xamarin Forms Tap Gesture Click 对 Stack 布局的影响

Xamarin Forms Tap Gesture Click Effect on Stack layout

我想知道如何在stacklayout上实现点击效果。我有我的设计,我使用 stacklayout 和点击手势导航到其他页面。但是,当我点击它时感觉是静态的,我需要看到点击效果。

下面是我的设计

我希望在单击任何这些选项(故障、中断等)时显示效果,就像单击按钮控件时一样。

谢谢

有很多解决方案可以实现它。比如你可以直接在tap中设置StackLayout的BackgroundColor

private async void TapGestureRecognizer_Tapped(object sender, EventArgs e)
        {
            var stack = sender as StackLayout;

            stack.BackgroundColor = Color.Black;

            await Task.Delay(100); // delay 0.1s

            stack.BackgroundColor = Color.LightBlue; // set it to the default color that you define in xaml

            //do something you want
        }

解决方案 2

您可以使用 nuget 中的插件 XamEffects

用法

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:XamEffects.Sample"
             xmlns:xe="clr-namespace:XamEffects;assembly=XamEffects"
             x:Class="xxx.MainPage">
    <StackLayout HorizontalOptions="Center"
          VerticalOptions="Center"
          HeightRequest="100"
          WidthRequest="200"
          xe:TouchEffect.Color="Red">
       
         //put content of StackLayout  here
    </StackLayout >
</ContentPage>