xamarin.forms - Xamarin Forms - AbsoluteLayout - 如何工作的位置

标签 xamarin.forms absolutelayout

我正在使用带有 AbsoluteLayout 的 Xamarin.Forms,但是,我不确定如何处理元素的定位。

我正在使用比例值,所以如果我在 AbsoluteLayout.LayoutBounds="1, 0.05, 0.15, 0.1" 放置一个元素其中每个值都是成比例的(所以标志是“全部” AbsoluteLayout.LayoutFlags="All" )

它将被放置在屏幕的顶部/右侧。然而,它不会在外面占据一席之地。那么它是什么意思呢?如果每个元素在外面,它们会重新定位到屏幕中吗?

enter image description here

但是现在,另一个问题来了,当您放置元素时,基于 X/Y 位置的是什么?是中心还是其他点?

enter image description here

在这个例子中,我尝试了 0.15 但渲染有点奇怪,所以我把 0 然后渲染匹配我想要的。

你可以说“测试一下,你就会看到。”然而,对于设计师和我来说,定位每个元素是在浪费时间,因为我们不确定它是如何工作的。所以我们只是尝试调试..

我们也在寻找是否存在一种软件来生成有关设计师所做设计的位置。我们的意思是元素的 X/Y 位置百分比。

提前致谢!

最佳答案

使用 AbsoluteLayoutFlag.All 时,Rectangle bounds 参数的含义如下:

  • x 表示应该在控件左侧的剩余空间(即父宽度 - 控件宽度)的百分比
  • y 表示应该在控件顶部的剩余空间(即父高度 - 控件高度)的百分比
  • width 是控件的宽度占父宽度的百分比
  • height 是控件的高度占父级高度的百分比

  • 宽度和高度是人们通常所期望的。但是,x 和 y 并不像人们更习惯于“左”和“上”。因此,您可以编写一个转换器将左侧百分比转换为 x,将顶部百分比转换为 y:

    x = 左/(1 - 宽度)
    y = 顶部/(1 - 高度)

    关于xamarin.forms - Xamarin Forms - AbsoluteLayout - 如何工作的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37964909/

    相关文章:

    ios - 显示具有将图片放在页面顶部的功能的 pdf

    c# - 在 Xamarin Forms 中通过 App.xaml.cs 动画打开 MainPage

    xamarin - ProGuard:添加 ModernHTTPClient 后, "java.exe"退出并显示代码 1

    android - 运行时的动态布局变化

    Android:以编程方式更改 View 的绝对位置

    android - MvvmCross 和 Xamarin Forms,Android 应用程序在获取强调色时因空引用错误而崩溃

    c# - Xamarin.Forms 不编译 Android 项目

    Java Swing 元素每次运行时都会发生变化

    Java Swing : move JButton on click

    html - 使用百分比作为 HTML 页面的尺寸标准的优缺点是什么