Skip to content

Android's predictive back feature doesn't use the device's corner radius #178463

Closed

Description

@MaherSafadii

Since predictive back is now enabled by default, it would be better to have it polished and match the native behaviour, currently it uses a fixed border radius when the effect is active, which looks bad, Android provided APIs that get the devices corner radius which can be used to achieve a more seamless effect and match the native side.

Current implementation:

Image

in my custom implementation, all I did was use a ClipRRect on a whole page and set the corner radius to the device's using this package corner_radius_plugin, it uses official Android APIs to get the devices corner radius.

the result is a more native behavior:

Image

Activity

  1. tirth-patel-nc commented on Nov 14, 2025

    @tirth-patel-nc
    Member

    @MaherSafadii thanks for the report. labelling it as a new proposal.

    #166608 #97349 might be related.

  2. added
    a: fidelityMatching the OEM platforms better
    c: proposalA detailed proposal for a change to Flutter
    platform-androidAndroid applications specifically
    team-androidOwned by Android platform team
    frameworkflutter/packages/flutter repository. See also f: labels.
    f: routesNavigator, Router, and related APIs.
    p: material_uimaterial_ui package in flutter/packages
    customer: crowdAffects or could affect many people, though not necessarily a specific customer.
    and removed
    in triagePresently being triaged by the triage team
    on Nov 14, 2025
  3. maRci002 commented on Nov 14, 2025

    @maRci002
    Contributor

    Flutter uses a fixed radius for now because device-specific corner radii aren't exposed yet. Once #97349 lands, this code can read the actual device radius instead of the hard-coded value.

    // Ideally this would match the curvature of the physical Android device being
    // used, but that is not yet supported. Instead, this value is a best guess at
    // a value that looks reasonable on most devices.
    // See https://github.com/flutter/flutter/issues/97349.
    static const double _kDeviceBorderRadius = 32.0;

  4. added and removed
    team-androidOwned by Android platform team
    on Nov 14, 2025
  5. justinmc commented on Nov 14, 2025

    @justinmc
    Contributor

    Thank you @maRci002 for the explanation. The issue #97349 is looking for someone to take it on in case anyone is able to! I left a comment there explaining how I think we could solve this.

  6. added
    P2Important issues not at the top of the work list
    on Nov 18, 2025
  7. self-assigned this
    on Jan 22, 2026
  8. added
    r: fixedIssue is closed as already fixed in a newer version
    on Mar 6, 2026
  9. github-actions commented on Mar 20, 2026

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  10. locked as resolved and limited conversation to collaborators on Mar 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P2Important issues not at the top of the work lista: fidelityMatching the OEM platforms betterc: proposalA detailed proposal for a change to Fluttercustomer: crowdAffects or could affect many people, though not necessarily a specific customer.f: routesNavigator, Router, and related APIs.frameworkflutter/packages/flutter repository. See also f: labels.p: material_uimaterial_ui package in flutter/packagesplatform-androidAndroid applications specificallyr: fixedIssue is closed as already fixed in a newer versionteam-frameworkOwned by Framework teamtriaged-frameworkTriaged by Framework team

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions