Repository: flutter
Issue: PageView - clip on over-scroll at the end (Android Only) 
Labels: platform-android,framework,f: scrolling,has reproducible steps,P2,team-framework,triaged-framework,found in release: 3.22,found in release: 3.24

### Steps to reproduce

I am using a `PageView` to show horizontal items with the following requirements:
- a part of the next item should be visible
- first and last items should respect the content padding on the horizontal edges
- items should have equal space between them

To achieve this with minimal code and avoid padding calculations based on item index I configured the `PageView` like this:
- Wrapped in a `Padding` with `EdgeInsetsDirectional.only(start: 24)`
- `clipBehavior: Clip.none`
- `padEnds: false`
-  `controller: PageController(viewportFraction: 0.8)`
-  items are wrapped  in a `Padding` with `EdgeInsetsDirectional.only(end: 24)`

I noticed that on Android, the `PageView` clips the item when over-scrolling at the end.
**This does not happen on iOS!**
For Android this happens only when `physics` is `null` or `ClampingScrollPhysics` (I believe this is the default for Android).

The issue can be reproduced on an emulator and real device with Android 14 (API 34).

### Expected results

`PageView` should not clip the items when `clipBehavior` is set to `Clip.none`.

### Actual results

On Android, when using `clipBehavior: Clip.none` and `physics: ClampingScrollPhysics()` the `PageView` clips the items on the left edge when over-scrolling at the end.

### Code sample

<details open><summary>Code sample</summary>

```dart
import 'package:flutter/material.dart';

void main() {
  runApp(const App());
}

class App extends StatelessWidget {
  const App({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: ListView(
          children: [
            const Padding(
              padding: EdgeInsets.symmetric(horizontal: 24, vertical: 8),
              child: Text(
                'PageView weird clip on overscroll (Android Only)',
                style: TextStyle(
                  fontSize: 20,
                  fontWeight: FontWeight.bold,
                ),
              ),
            ),
            const Padding(
              padding: EdgeInsets.symmetric(horizontal: 24, vertical: 8),
              child: Text('PageView with BouncingScrollPhysics ✅︎'),
            ),
            SizedBox(
              height: ItemWidget.designVerticalExtent,
              child: Padding(
                padding: const EdgeInsetsDirectional.only(start: 24),
                child: PageView.builder(
                  clipBehavior: Clip.none,
                  padEnds: false,
                  controller: PageController(viewportFraction: 0.8),
                  physics: const BouncingScrollPhysics(),
                  itemCount: 5,
                  itemBuilder: (context, index) {
                    return Padding(
                      padding: const EdgeInsetsDirectional.only(end: 24),
                      child: ItemWidget(
                        text: 'PageView Item ${index + 1}',
                      ),
                    );
                  },
                ),
              ),
            ),
            const SizedBox(height: 16),
            const Padding(
              padding: EdgeInsets.symmetric(horizontal: 24, vertical: 8),
              child: Text('PageView with ClampingScrollPhysics ⚠️'),
            ),
            SizedBox(
              height: ItemWidget.designVerticalExtent,
              child: Padding(
                padding: const EdgeInsetsDirectional.only(start: 24),
                child: PageView.builder(
                  clipBehavior: Clip.none,
                  padEnds: false,
                  controller: PageController(viewportFraction: 0.8),
                  physics: const ClampingScrollPhysics(),
                  itemCount: 5,
                  itemBuilder: (context, index) {
                    return Padding(
                      padding: const EdgeInsetsDirectional.only(end: 24),
                      child: ItemWidget(
                        text: 'PageView Item ${index + 1}',
                      ),
                    );
                  },
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }
}

class ItemWidget extends StatelessWidget {
  static const double designVerticalExtent = 80.0;

  final String text;

  const ItemWidget({
    super.key,
    required this.text,
  });

  @override
  Widget build(BuildContext context) {
    return SizedBox(
      height: designVerticalExtent,
      child: Material(
        color: Colors.grey.shade300,
        surfaceTintColor: Colors.transparent,
        borderRadius: BorderRadius.circular(16),
        shadowColor: Colors.black.withOpacity(0.3),
        child: Center(
          child: Text(
            text,
            style: const TextStyle(
              fontSize: 24,
              fontWeight: FontWeight.bold,
            ),
          ),
        ),
      ),
    );
  }
}
```

</details>


### Screenshots or Video

<details open>
<summary>Screenshots / Video demonstration</summary>


https://github.com/user-attachments/assets/2ea05f42-dff9-49a1-8f16-95f904b74b05



</details>


### Logs

_No response_

### Flutter Doctor output

<details open><summary>Doctor output</summary>

```console
Flutter (Channel stable, 3.22.2, on macOS 14.5 23F79 darwin-arm64, locale en-RO)
    • Flutter version 3.22.2 on channel stable at /Users/andrei/Library/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 761747bfc5 (8 weeks ago), 2024-06-05 22:15:13 +0200
    • Engine revision edd8546116
    • Dart version 3.4.3
    • DevTools version 2.34.3

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/Andrei/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/Andrei/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.4)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15F31d
    • CocoaPods version 1.15.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • 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 17.0.9+0-17.0.9b1087.7-11185874)

[✓] IntelliJ IDEA Community Edition (version 2023.2.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • 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

[✓] VS Code (version 1.91.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.92.0

[✓] Connected device (5 available)
    • sdk gphone64 arm64 (mobile)     • emulator-5554                        • android-arm64  • Android 14 (API 34) (emulator)
    • iPhone 15 Pro Max (mobile)      • 04ADF3C4-CA6D-43E9-972D-AFC11953AFB8 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-17-5 (simulator)
    • macOS (desktop)                 • macos                                • darwin-arm64   • macOS 14.5 23F79 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad                • darwin         • macOS 14.5 23F79 darwin-arm64
    • Chrome (web)                    • chrome                               • web-javascript • Google Chrome 127.0.6533.73

[✓] Network resources
    • All expected network resources are available.

• No issues found!
```
</details>