From: Heonjae Jang Date: Thu, 23 Mar 2017 08:54:37 +0000 (+0900) Subject: TV Apps - Footer Button Animation X-Git-Tag: submit/tizen/20170808.015446~170 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dd5baca0796f9526d0d7b9ef2df4cda232df12f3;p=profile%2Ftv%2Fapps%2Fdotnet%2Fhome.git TV Apps - Footer Button Animation Change-Id: Id2003bdee351127026fb5dadbcb61bb022da0b8a --- diff --git a/TVApps/TVApps/Controls/TVButton.xaml b/TVApps/TVApps/Controls/TVButton.xaml index a13b4f7..621d6ee 100644 --- a/TVApps/TVApps/Controls/TVButton.xaml +++ b/TVApps/TVApps/Controls/TVButton.xaml @@ -17,7 +17,8 @@ - diff --git a/TVApps/TVApps/Controls/TVButton.xaml.cs b/TVApps/TVApps/Controls/TVButton.xaml.cs index 5355383..7103242 100644 --- a/TVApps/TVApps/Controls/TVButton.xaml.cs +++ b/TVApps/TVApps/Controls/TVButton.xaml.cs @@ -63,11 +63,78 @@ namespace TVApps.Controls public TVButton() { InitializeComponent(); - + HiddenButton.Clicked += ButtonClickListener; + HiddenButton.Focused += ButtonFocusedListener; + HiddenButton.Unfocused += ButtonUnfocusedListener; HiddenButton.OnButtonUp += ButtonUpListener; HiddenButton.OnButtonDown += ButtonDownListener; } + private void ButtonClickListener(object sender, EventArgs e) + { + // Stops playing animation + ButtonGrid.AbortAnimation("ColorChange"); + + // Starts animation that change Focused Color to Selected Color + ButtonGrid.Animate("ColorChange", v => + { + var gridColorR = (int)(255 * (1 - v)); + var gridColorG = (int)(255 - 126 * v); + var gridColorB = (int)(255 - 57 * v); + ButtonGrid.BackgroundColor = Color.FromRgb(gridColorR, gridColorG, gridColorB); + }, + length: 100, + finished: (a, b) => + { + // Starts animation that change Selected Color to Focused Color + ButtonGrid.Animate("ColorChange", v => + { + var gridColorR = (int)(255 * v); + var gridColorG = (int)(129 + 126 * v); + var gridColorB = (int)(198 + 57 * v); + ButtonGrid.BackgroundColor = Color.FromRgb(gridColorR, gridColorG, gridColorB); + }, + length: 50, + finished: (c, d) => + { + ButtonGrid.BackgroundColor = Color.FromRgb(255, 255, 255); + Command?.Execute(CommandParameter); + }); + }); + } + + private void ButtonFocusedListener(object sender, FocusEventArgs e) + { + // Stops playing animation + ButtonGrid.AbortAnimation("ColorChange"); + + // Starts animation that change Unfocused Color to Focused Color + ButtonGrid.Animate("ColorChange", v => + { + var gridColor = (int)(255 * v); + var textColor = (int)(255 * (1 - v)); + ButtonGrid.BackgroundColor = Color.FromRgb(gridColor, gridColor, gridColor); + TitleText.TextColor = Color.FromRgb(textColor, textColor, textColor); + }, + length: 150); + } + + private void ButtonUnfocusedListener(object sender, FocusEventArgs e) + { + // Stops playing animation + ButtonGrid.AbortAnimation("ColorChange"); + + // Starts animation that change Focused Color to Unfocused Color + ButtonGrid.Animate("ColorChange", v => + { + var gridColor = (int)(255 * (1 - v)); + var textColor = (int)(255 * v); + ButtonGrid.BackgroundColor = Color.FromRgb(gridColor, gridColor, gridColor); + TitleText.TextColor = Color.FromRgb(textColor, textColor, textColor); + }, + length: 150); + } + public void ButtonUpListener(Object sender, EventArgs e) { //BackgroundImage.Source = ButtonImageReleased; diff --git a/TVHome/TVHome.TizenTV/bin/Debug/TVHome.TizenTV.tpk b/TVHome/TVHome.TizenTV/bin/Debug/TVHome.TizenTV.tpk index eae99de..859143d 100644 Binary files a/TVHome/TVHome.TizenTV/bin/Debug/TVHome.TizenTV.tpk and b/TVHome/TVHome.TizenTV/bin/Debug/TVHome.TizenTV.tpk differ