Skip to content

横竖屏切换布局错乱 #566

Closed
Closed

Description

@applebest

#414 (comment)

使用这种方式,改动源码可以解决横竖屏切换的问题 ,横竖屏切换后要重置设计比例

Activity

  1. applebest commented on May 23, 2024

    @applebest
    Author
    image
  2. Mounir-Bouaiche commented on May 23, 2024

    @Mounir-Bouaiche
    Collaborator

    @applebest Great idea, package used by many users including web and desktop that they are needing resize by width rather than orientation. You can use fontSizeResolver though (FontSizeResolver.[your_factor-radius in this case] or any other function), maybe conditionnaly based on device type

  3. applebest commented on May 23, 2024

    @applebest
    Author

    @applebest Great idea, package used by many users including web and desktop that they are needing resize by width rather than orientation. You can use fontSizeResolver though (FontSizeResolver.[your_factor-radius in this case] or any other function), maybe conditionnaly based on device type

    Is it possible to add a parameter to the initialization method to control via a variable whether or not the design ratio needs to be refreshed based on orientation?

  4. applebest commented on May 23, 2024

    @applebest
    Author

    There is no screen rotation on the web and desktop, so there is no problem using width adaptation. On mobile phones and tablets, the screen rotation will be chaotic. Can the frame adapt? grateful

  5. Mounir-Bouaiche commented on May 23, 2024

    @Mounir-Bouaiche
    Collaborator

    @applebest Great idea, package used by many users including web and desktop that they are needing resize by width rather than orientation. You can use fontSizeResolver though (FontSizeResolver.[your_factor-radius in this case] or any other function), maybe conditionnaly based on device type

    Is it possible to add a parameter to the initialization method to control via a variable whether or not the design ratio needs to be refreshed based on orientation?

    See Docs, fontSizeResolver parameter, in your case you can pass FontSizeResolvers.radius instead of default (FontSizeResolvers.width)

  6. applebest commented on May 23, 2024

    @applebest
    Author

    @applebest Great idea, package used by many users including web and desktop that they are needing resize by width rather than orientation. You can use fontSizeResolver though (FontSizeResolver.[your_factor-radius in this case] or any other function), maybe conditionnaly based on device type

    Is it possible to add a parameter to the initialization method to control via a variable whether or not the design ratio needs to be refreshed based on orientation?

    See Docs, fontSizeResolver parameter, in your case you can pass FontSizeResolvers.radius instead of default (FontSizeResolvers.width)

    FontSizeResolvers.radius only solves the font adaptation problem, the width and height of the widget are adapted using .w .h, when the screen is rotated . .w .h still uses the vertical scaling, I need to change the scaling according to the horizontal/vertical switch, because the width and height change when the screen is rotated.

  7. Mounir-Bouaiche commented on May 23, 2024

    @Mounir-Bouaiche
    Collaborator

    @applebest This is expected, you should use your own code then with Flutter's LayoutBuilder widget, this package will not re-invent what is already built-in in flutter

  8. Mounir-Bouaiche commented on May 23, 2024

    @Mounir-Bouaiche
    Collaborator

    @applebest Great idea, package used by many users including web and desktop that they are needing resize by width rather than orientation. You can use fontSizeResolver though (FontSizeResolver.[your_factor-radius in this case] or any other function), maybe conditionnaly based on device type

    Is it possible to add a parameter to the initialization method to control via a variable whether or not the design ratio needs to be refreshed based on orientation?

    See Docs, fontSizeResolver parameter, in your case you can pass FontSizeResolvers.radius instead of default (FontSizeResolvers.width)

    FontSizeResolvers.radius only solves the font adaptation problem, the width and height of the widget are adapted using .w .h, when the screen is rotated . .w .h still uses the vertical scaling, I need to change the scaling according to the horizontal/vertical switch, because the width and height change when the screen is rotated.

    This is not a default for all developers, mobile developers also they want to calculate box width based on actual width of viewport whether landscape or portrait, so this custom feature will not be coded in this library. You should take a look at LayoutBuilder for this behaviour.

  9. Mounir-Bouaiche commented on May 23, 2024

    @Mounir-Bouaiche
    Collaborator

    @applebest You can also use .r instead of .w and .h if you want the minimum value of width/height viewport, in any case

  10. applebest commented on May 23, 2024

    @applebest
    Author

    @applebest您也可以使用.r而不是.w,.h如果您想要宽度/高度视口的最小值,无论如何

    Some public widgets use a lot of .w and .h when laying out. In landscape mode, I still want the public widgets to have good layout performance when rotating, so use .r This means that a lot of layout code needs to be modified based on rotation.

  11. Mounir-Bouaiche commented on May 23, 2024

    @Mounir-Bouaiche
    Collaborator
    image

    You can use this code, wrap ScreenUtilInit with LayoutBuilder and pass designSize according to orientation

  12. applebest commented on May 23, 2024

    @applebest
    Author
    image

    You can use this code, wrap ScreenUtilInit with LayoutBuilder and pass designSize according to orientation

    Please send another picture, it was not uploaded, thank you

  13. Mounir-Bouaiche commented on May 23, 2024

    @Mounir-Bouaiche
    Collaborator
    image

    It's yours

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions