12-03-2019 06:59 AM - last edited 05-07-2020 08:11 AM
In the following post, I explain the three attached companion apps/components. I use the two components to design a fully responsive app, the Sample app is simply a reference tool.
When responsive design was announced as a feature in PowerApps, I could hardly wait to dig in and start creating. When I did, however, I found the process quite challenging. Without a visual reference, the need to continually Save and Publish the app in order to view and test the layout was a pain. With that in mind, I created the the scrnSimulator (component). The idea is to visually see how things will look for a preselected screen layout. Additionally, while researching responsive design, I stumbled upon responsive, fluid grids and thought it would be a great companion to the screen simulator. Below I do my best to describe each.
I have found the most effective method for utilizing this template is to have the template open in one window and the actual app I am creating open in another. I use the template to create my layout. Once I am satisfied with the layout of controls, I:
1)'code' the property values into my actual app (for the selected screen size)
2) change the size of my template
3) re-order the controls so they fit the new screen size
4) update the code in my app, and repeat....
To determine the Y property based on the layout, refer to lblY_Reference in the template
The result of this calculation is I what I use to set the Y properties of the controls.
Similar to the Y Property reference, I have a height reference label to determine and calculate the dynamic height of each control. Set the value of the control in the app to the result of the height reference control in the template * App.Height.
** When switching layouts, this can be finicky, particularly transitioning to a large layout. I have found the best way to reset the view is to navigate from the component to Screen 1 and back to component. When back in the component, select the double arrow icon (zoom) and it should reset the view.
The 'X' property of each control is determined from the output of the collection results (calculated in the 'OnChange' of the slider control). Because the slider is on the screen, not in the component, the values will 'hold' if the component is removed.
** Note - this is attached in reply below due to 3 attachment limit.
Not too long ago, the #PowerAddicts interviewed @Foyinb and she said "Just do the thing". While I can "make the thing", "explaining the thing" isn't so easy :). So, with that, if you have questions related to this template, please feel free to reach out via Twitter - @tianaranjo (a.k.a. kickingapps) or firstname.lastname@example.org
Nice ! I'll have a look at that in the coming days...
Meanwhile, there is an problem with your url that links to the blog article: there is a %20 (space) character in front of the url and the semicolons (:) are missing after the http.
Thanks for sharing it but by clicking link (article), I get an error message as : "You don't have a sufficient right to access to the content ..."
Can you grant me access if possible please ?
Thanks in advance
@KickingApps Thanks for the detailed post. You know a lot about responsive design 🙂
I had a question , we are building on a Canvas app. Our goal is to use responsive design to control the layout better. By default our canvas app is 1368x768. We access it via the desktop browser.
We have a series of tables and long forms that users fill out which make the screen height change all the way up to 10,000px tall.
PowerApps when not using the responsive design tends to inject a lot of vertical scroll bars inside tables as the height is fixed.
I'm trying to understand how best to set a min height for the page and table. By example, the table default is 8 rows and 500px tall. If there are 50 entries and the height of the page should be 4000px how best do we build the table so that it grows in vertical height?
Here's a visual example of my design
@KickingApps, thanks for the reply.
So the photo in my post and below is an example of a data table I was designing. I haven't coded it in PowerApps yet. What I was trying to figure out is how to make a table smarter using responsive design.
By example, I can make a table in PowerApps on a Canvas now that is say 500px tall and would have 8 entries in it (like photo below). But if I have 80 entries, and the table needs to be 5000px tall, currently PowerApps just defaults to the same 500px tall table and inserts a scroll bar inside the table and I have to scroll inside it. My goal was to have the table height itself grow so that I can avoid scrolling inside the table.
From everything I have seen, responsive design solves the width issue well for a page, but I was trying to solve for how to grow the height of a page based on the amount of content I have.
Why not using a gallery in Power Apps which, by design, allows unlimited entries? You could set its size to fit the screen and you could then scroll through your entries vertically inside the gallery.