So, my initial idea was to update all of my apps to be responsive. Whether you’d use it on your mobile phone with the Power Apps app, in MS Teams, or simply in a full-width browser experience. They all should look consistent, no matter where you’re using them. I’ve also focused on the behavior of the font sizes in Canvas Apps.
Not that simple
I quickly realized that responsiveness and font size behaviors are not that straight forward with Power Apps. In fact, it very much depends on the way you’ve initially created the app, and if Scale To Fit is enabled. And even though I’ve used a centralized style source (meaning all apps accessing the same styles), my apps looked all different in different screen sizes initially. I realized that it’s because I’ve created some of them with the “Start with your data” (SharePoint) and others with the “Blank App”.
Also, in terms of screen orientations, all of my apps were using different values. E.g. portrait, landscape, and even custom-screen orientations. Furthermore, ScaleToFit (STF) matters a lot depending on the app-type.
So I created some tests to see how it all behaves. In short:
- Portrait/Landscape doesn’t affect font size
- Scale To Fit (STF) affects font size with Blank apps,
- Scale To Fit (STF) does not affect font size with apps automatically built from data sources
Meaning, when creating your app it is already important to know the possible devices/screen sizes. If you want full flexibility, I’d recommend to go for blank apps directly and then build up everything from scratch. Personally, I never liked the Scale to Fit option with the Power App app. It always adds a little black border around your app – space you could otherwise use. That’s why none of my apps are using it.
Here’s the outcome of my tests (SP = built off a SharePoint list, STF = Scale to Fit, 24 = font size defined in PowerApps):
If you are a beginner and are just about to get started with Power Apps, go for Scale To Fit. You don’t need to worry about the positioning of your elements that much. The more advanced you get, the faster I would then switch to STF = off. You just have more control of how your app behaves with different screen sizes.