Repository: flutter
Issue: [android] Textfield text selection handlers get covered by keyboard
Labels: a: text input,platform-android,framework,has reproducible steps,P2,found in release: 3.7,found in release: 3.8,team-android,triaged-android

Text selection handler is cut by the keyboard.

Tested on latest stable and master 3.8.0-5.0.pre.1, android 12SKQ1.211006.001, xiaomi mi lite 11  5G.

## Steps to Reproduce
Please run this example here:

```
import 'package:flutter/material.dart';


void main() {
  runApp(MyApp(
    items: List<String>.generate(100, (i) => 'Item $i'),
  ));
}

class MyApp extends StatelessWidget {
  final List<String> items;
  MyApp({super.key, required this.items});
  final _messageController = TextEditingController();

  final _focusNode = FocusNode();

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Text Selection Handlers Issue'),
        ),
        body: Center(

          child: Padding(
            padding: EdgeInsets.fromLTRB(40, 0, 40, 0),
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              mainAxisAlignment: MainAxisAlignment.center,
              children:  <Widget>[
                Expanded(

                  child:
                  ListView.builder(
                    itemCount: items.length,
                    prototypeItem: ListTile(
                      title:Text(items.first),
                    ),
                    itemBuilder: (context, index) {
                      return ListTile(
                        title:
                        ColoredBox(
                          color: Colors.greenAccent,
                          child:
                          Container(
                             child:Text(items[index]),
                             height: 45,
                          )
                        )
                      );
                    },
                  ),
                ),

                //Textfield Widget
                const Text('Texfield:'),
                SizedBox(height: 8),
                TextFormField(
                  controller: _messageController,
                  minLines: 1,
                  maxLines: 12,
                  keyboardType: TextInputType.multiline,
                  textCapitalization:
                  TextCapitalization.sentences,
                  focusNode: _focusNode,
                  onTap: () {},
                  decoration: InputDecoration(
                    border: InputBorder.none,
                    isDense: true,
                    hintText: "Message",
                  ),
                ),

              ],
            ),
          ),
        ),
      ),
    );
  }
}
```


**Expected results:**
Text selection handler should be rendered on top of keyboard.

**Actual results:**
Text selection handler is cut by keyboard.

<img src="https://user-images.githubusercontent.com/53510751/218299367-60b1e1a7-d087-4147-9dbe-fae76698b7d8.jpg" width="300"/>


<img src="https://user-images.githubusercontent.com/53510751/218298910-935e08f2-d34d-46c8-ae7a-c47b401ba6a2.jpeg" width="300"/>


**Flutter doctor:**
 [✓] Flutter (Channel master, 3.8.0-5.0.pre.1, on macOS 12.2 21D49 darwin-arm64, locale en-IT) [!] Android toolchain - develop for Android devices (Android SDK version 31.0.0) ✗ cmdline-tools component is missing Run path/to/sdkmanager --install "cmdline-tools;latest" See https://developer.android.com/studio/command-line for more details. ✗ Android license status unknown. Run flutter doctor --android-licenses to accept the SDK licenses. See https://flutter.dev/docs/get-started/install/macos#android-setup for more details. [✓] Xcode - develop for iOS and macOS (Xcode 13.4.1) [✓] Chrome - develop for the web [✓] Android Studio (version 2021.2) [✓] Connected device (3 available) [✓] HTTP Host Availability