如何在Xamarin Forms中同时使用GestureRecognizers和Effects?

时间:2018-04-28 08:33:59

标签: xamarin.forms effects

我已经在我的StackLayout中添加了一个水龙头手势识别器,我想在点击它时更改背景颜色,以便用户识别出已经点击了布局

  <StackLayout.GestureRecognizers>
        <TapGestureRecognizer 
         Tapped="Preferences_Clicked"
         NumberOfTapsRequired="1"/>
  </StackLayout.GestureRecognizers>

我应该使用动画吗?

更新 通过改变背景颜色,我的意思是一种效果,就像一个高亮,就像你在ListView中选择一个项目

2 个答案:

答案 0 :(得分:1)

使用此代码切换颜色

   int tapCount=0;
    void Preferences_Clicked(object sender, EventArgs args)
    {
        tapCount++;
        var stackLayout = (StackLayout)sender;
        if (tapCount % 2 == 0) {
            stackLayout.BackgroundColor  = Color.Default;
        } else {
            stackLayout.BackgroundColor  =  Color.Accent;
        }
    }

答案 1 :(得分:0)

我能找到答案,我只是将这段代码添加到Tapped方法中,得到了我想要的东西

    public async void Preferences_Clicked(object sender, EventArgs e)
    {
        const int _animationTime = 50;
        try
        {
            var layout = (StackLayout)sender;
            await layout.FadeTo(0.5, _animationTime);
            await layout.FadeTo(1, _animationTime);
        }
        catch (Exception ex)
        {

        }       
    }