我已经在我的StackLayout中添加了一个水龙头手势识别器,我想在点击它时更改背景颜色,以便用户识别出已经点击了布局
<StackLayout.GestureRecognizers>
<TapGestureRecognizer
Tapped="Preferences_Clicked"
NumberOfTapsRequired="1"/>
</StackLayout.GestureRecognizers>
我应该使用动画吗?
更新 通过改变背景颜色,我的意思是一种效果,就像一个高亮,就像你在ListView中选择一个项目
答案 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)
{
}
}