public async void ShowHideButtons() { containerButtonsExpanded = !containerButtonsExpanded; var targetOpacity = 0; var targetHeight = 0; var targetWidth = 0; if (containerButtonsExpanded) { targetOpacity = 1; targetHeight = Actions.Count * 44 + (Actions.Count * 10); targetWidth = MAX_WIDTH; } if (!disableRotation) { if (containerButtonsExpanded) { await MainButton.RotateTo(45, 100, Easing.Linear); } else { await MainButton.RotateTo(0, 100, Easing.Linear); } } if (containerButtonsExpanded) { Container.HeightRequest = targetHeight; Container.WidthRequest = targetWidth; } var taskList = new List <Task> { Container.FadeTo(targetOpacity, 150) }; await Task.WhenAny(taskList); if (!containerButtonsExpanded) { Container.HeightRequest = targetHeight; Container.WidthRequest = targetWidth; } }