responsive_builder icon indicating copy to clipboard operation
responsive_builder copied to clipboard

Added more fine tuned controls for different devices

Open razein97 opened this issue 4 years ago • 7 comments

More sizes added. Example file also updated to integrate with the new additions. Readme.md not edited.

razein97 avatar Apr 20 '20 14:04 razein97

There are some breaking changes here so I'll move some of the code over and refactor and tag this PR in it.

FilledStacks avatar May 08 '20 04:05 FilledStacks

Okay. So what do I do now? Close the PR? (Sorry but i'm new to contributing.)

razein97 avatar May 16 '20 15:05 razein97

@razein97 I keep it open to remind myself I still have to do it. Basically the solution I have in mind should keep the current setup in terms of being able to supply mobile, tablet and desktop at a high level. Similarly to the additional OrientationLayoutBuilder which you can then use to provide your orientation layouts I'm imagining an additional widget builder like RefinedLayoutBuilder.

This should allow you to get much more control as well if you look at it like this.

ScreenTypeLayout.builder(
  mobile: (context) => RefinedLayoutBuilder(
     small: HomeMobileSmall(),
     normal: HomeMobileNormal(),
     large: HomeMobileLarge(),
     extraLarge: HomeMobileExtraLarge()
)

This will make it so that you can use the RefinedLayoutBuilder on it's own if say for instance you're only working on Mobile but you still want to show different layouts for different screen sizes. It will require an additional Enum specifically for small, normal, large, extraLarge as well as a function similar to getValueForScreenType which will allow you to return different values based on the Refined size. This means you can also return specific values per platform and refined size if you nest the calls.

getValueForScreenType<double>(
  context: context,  
  mobile: getValueForRefinedSize<double>( 
     context: context, 
     small: 10,
     normal: 15,
     large: 30,
  ),
);

Hopefully I can get to it today. I'm not making a video this week so I'll be finishing up some things that's been lingering.

FilledStacks avatar May 17 '20 07:05 FilledStacks

Any update on this?

SiyrisSoul avatar Aug 06 '20 04:08 SiyrisSoul

@TutOsirisOm Not at the moment. My comment above described the implementation i will make if I have time, OP or you can implement that and make a PR?

FilledStacks avatar Aug 06 '20 04:08 FilledStacks

@FilledStacks I'll see what I can do!

SiyrisSoul avatar Aug 06 '20 04:08 SiyrisSoul

@FilledStacks How's this look? #19

SiyrisSoul avatar Aug 06 '20 11:08 SiyrisSoul