【Power Apps】响应式布局与布局容器

2024-03-14 01:36
文章标签 布局 容器 响应 power apps

本文主要是介绍【Power Apps】响应式布局与布局容器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

做响应式布局之前要先把这里关掉呦。

这里我可能要先简单说一下什么是响应式布局,说白了就是咱们做出来的应用的界面可以根据当前窗口的大小来自适应地调整内部组件的大小、位置等属性,这样我们只需要做一套页面,就可以既在桌面端使用,也可以在各种移动端使用,不会发生由于应用界面不适应屏幕大小而出现严重的显示问题的情况。

同时,我们在做前端页面的时候最令人头疼的莫过于对前端各个组件位置的设置了,如果还要用上响应式布局,让手机端显示手机端的样式,桌面端显示桌面端的样式,那可以说是非常令人头疼了,所以现在在常规的前端开发中,也只会对不那么复杂的网页做响应式布局的效果,对复杂页面还是会单独做一个移动端页面。

而在Power Apps中,微软官方为我们提供了三种布局容器,可以直接帮我们解决布局的问题,不过我们在做响应式布局的时候主要用两种。

第一种布局容器是垂直容器,顾名思义,所有放到这种容器中的控件都将在容器中垂直排列。

第二种是水平容器,就是所有放到这种容器中的控件都将在容器中水平排列。

在这两种容器中,我们只能调整容器中控件的顺序,比如哪个控件更靠右,或者哪个控件更靠上,而无法随意改动控件的位置及其大小,毕竟这两个容器是强制把控件按横向/纵向的规则排好队的。

不过我们可以调整容器中所有控件的对齐方式和控件间的间隔

容器内的控件在开启灵活高度/宽度后,可以自动按比例调整自己在容器中的占位,垂直容器调整的就是控件在垂直方向上的占位,水平容器调整的就是控件在水平方向上的占位。

我们可以看到,这个两个子容器的父容器是个水平容器,在这两个子容器都开启灵活宽度后,我们可以设置右边的子容器占7成位置,左边的子容器占3成位置。

如果容器内的控件是一个开启灵活高度/宽度,而另一个没有开,那么没有开灵活高度/宽度的那个控件仍然是由“高度”或“宽度”属性来控制高度或宽度。

另一个开启了灵活高度/宽度的控件将自动占满余下的全部空间。

说白了就是容器会先把没有开启灵活高度/宽度的控件所占的空间减去,然后剩下的空间由开启了灵活高度/宽度的控件来按比例分。

这样使得我们的布局可以跟随窗口大小的改变而改变。

所以我们在设计Power Apps页面的时候,可以试着多采用布局容器来搭建页面,更方便且高效。

不过我们搭建响应式布局的时候,肯定还要实现一些适用于不同屏幕的布局自动变化的效果,比如可能在一个应用中,我们会把左边栏做成列表,右边栏做成展示详情和做数据修改的表单,而当我们在移动端打开应用的时候,应用将只会显示左边栏的列表,点击列表中的项后,右边栏才会显示。

这种情况下不需要我们亲自来做屏幕/页面大小的判断,微软已经给我们提供了一个属性用来获取当前屏幕大小,就是屏幕的Size属性。

我们只需要判断一下当前屏幕的Size属性,再配合一些其他变量和辅助控件,来更改指定控件的显示或隐藏,即可实现针对不同屏幕来展示不同的显示效果。

桌面端左右边栏都显示。

到手机上了,我们默认只显示左边栏,右边栏隐藏,但可以在这两个边栏之间切换。

当然,还有一些控件,如库(Gallery)和窗体(Form),可能需要单独设置一下一行中显示项目的数量随着页面大小变化而变化的效果。

我们这里以一个垂直库为例。

这种效果我们就不太好用屏幕的Size属性来搞了,毕竟这种效果需要实时地根据页面大小的改变而同步改变,所以我们需要根据库的父容器的“宽度”属性(Parent.Width)来计算出库的“整合计数”属性的值。

首先我们要确定我们库里的项,就是下图↓箭头指的那部分

确定这部分宽度的最小值,这个我们跟及项目需求和咱们对于页面的样式设计来自行决定即可,我这里觉得每一项宽度最小为315就可以了,这样的话我就可以用库的父容器的宽度值来除我这个315,然后取整,就可以得出以当前页面宽度,库中一行能放下多少个项了。

把这个值填进整合计数中即可。

---

欢迎加vx交流:vAfi_FeiFei

这篇关于【Power Apps】响应式布局与布局容器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/806842

相关文章

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

如何将Tomcat容器替换为Jetty容器

《如何将Tomcat容器替换为Jetty容器》:本文主要介绍如何将Tomcat容器替换为Jetty容器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat容器替换为Jetty容器修改Maven依赖配置文件调整(可选)重新构建和运行总结Tomcat容器替

如何解决Spring MVC中响应乱码问题

《如何解决SpringMVC中响应乱码问题》:本文主要介绍如何解决SpringMVC中响应乱码问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring MVC最新响应中乱码解决方式以前的解决办法这是比较通用的一种方法总结Spring MVC最新响应中乱码解

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

springMVC返回Http响应的实现

《springMVC返回Http响应的实现》本文主要介绍了在SpringBoot中使用@Controller、@ResponseBody和@RestController注解进行HTTP响应返回的方法,... 目录一、返回页面二、@Controller和@ResponseBody与RestController

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re