Repository: flutter
Issue: Scrollbar should not execute fade in/out animation if it is always visible
Labels: framework,f: scrolling,has reproducible steps,P2,found in release: 3.3,found in release: 3.6,team-framework,triaged-framework

When the idle or hover color of a scrollbar is overridden with `thumbColor: MaterialStateProperty.resolveWith`, the color fade animation seems to misbehave:

* It ignores the overridden color when it is the start state of the animation.
* It skips the animation when the color is the end state of the animation.

This seems to be because the lerp always uses the current state rather than lerping between the current and previous states, while still falling back to the state-appropriate default colors when not overridden:

https://github.com/flutter/flutter/blob/8b32ac7a512b35b2b01da949ff41be814d025207/packages/flutter/lib/src/material/scrollbar.dart#L336-L340

It looks like we can fix this by hard-coding the states to:

```dart
 return Color.lerp( 
   _scrollbarTheme.thumbColor?.resolve(const {}) ?? idleColor, 
   _scrollbarTheme.thumbColor?.resolve(const {MaterialState.hovered}) ?? hoverColor, 
   _hoverAnimationController.value, 
 )!; 
```

## Steps to Reproduce

https://dartpad.dev/e8945563710b4d755944cb3f4ac90d1d

1. Note the idle color of the scroll thumb.
2. Hover over the scroll thumb.
3. Observe that the color instantly becomes much more transparent before animating to a stable hover color.
4. Mouse away from the scroll thumb.
5. Observe that the color instantly restores to the idle color without animating.

**Expected results:** <!-- what did you want to see? -->

Smooth blending between overridden and default states.

**Actual results:** <!-- what did you see? -->

Discontinuous blending using default colors, or skipped animations.

This occurs on both stable and master.

<details>
<summary>Code sample</summary>

```dart
import 'package:flutter/material.dart';

void main() {
  runApp(
    MaterialApp(
      theme: ThemeData(
        scrollbarTheme: ScrollbarThemeData(
          thumbColor: MaterialStateProperty.resolveWith(
            (states) => states.isEmpty ? Colors.black : null,
          ),
          thumbVisibility: const MaterialStatePropertyAll(true),
        ),
      ),
      home: Scaffold(
        body: SingleChildScrollView(
          child: ConstrainedBox(
            constraints: const BoxConstraints(minWidth: double.infinity),
            child: Text('content\n' * 500),
          ),
        ),
      ),
    ),
  );
}
```

</details>

<details>
  <summary>Logs</summary>

<!--
     Run `flutter analyze` and attach any output of that command below.
     If there are any analysis errors, try resolving them before filing this issue.
-->

```
Analyzing trip_planner_aquamarine...                                    
No issues found! (ran in 49.1s)
```

<!-- Finally, paste the output of running `flutter doctor -v` here. -->

```
[√] Flutter (Channel master, 3.6.0-1.0.pre.3, on Microsoft Windows [Version 10.0.22621.674], locale en-US)
    • Flutter version 3.6.0-1.0.pre.3 on channel master at C:\Users\imagi\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 8e5439c89e (3 weeks ago), 2022-11-09 14:33:45 -0500
    • Engine revision c76035429c
    • Dart version 2.19.0 (build 2.19.0-377.0.dev)
    • DevTools version 2.19.0

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at C:\Users\imagi\AppData\Local\Android\sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[!] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.16)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.11.32602.291
    • Windows 10 SDK version 10.0.16299.0
    X Visual Studio is missing necessary components. Please re-run the Visual Studio installer for the "Desktop development with C++" workload, and include these components:
        MSVC v142 - VS 2019 C++ x64/x86 build tools
         - If there are multiple build tool versions available, install the latest
        C++ CMake tools for Windows
        Windows 10 SDK

[√] Android Studio (version 2021.3)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[√] VS Code (version 1.73.1)
    • VS Code at C:\Users\imagi\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.54.0

[√] Connected device (4 available)
    • Pixel 5 (mobile)  • 10.0.0.16:40787 • android-arm64  • Android 13 (API 33)
    • Windows (desktop) • windows         • windows-x64    • Microsoft Windows [Version 10.0.22621.674]
    • Chrome (web)      • chrome          • web-javascript • Google Chrome 107.0.5304.107
    • Edge (web)        • edge            • web-javascript • Microsoft Edge 107.0.1418.56

[√] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.
```

</details>


<!--
      Consider also attaching screenshots and/or videos to better
      illustrate the issue.

      You can upload them directly on GitHub.
      Beware that video file size is limited to 10MB.
-->