如何开发适用于手机和平板电脑的 Xamarin 表单应用程序

2024-01-06

1)在Android(Java)中:
手机和平板电脑有不同的文件夹
Layout
布局-大
布局-xlarge

2) 在 iOS 中:使用通用设置。

我还没有尝试过以 Xamarin 形式。我需要一些帮助。

如果该应用程序适用于手机和平板电脑,我需要做什么?而且屏幕尺寸有很多。

如何设计适合多种屏幕尺寸的页面?
如果我从平板尺寸开始,手机上的页面显示可能会不合适?


Xamarin.Forms 使用称为“自动布局”的东西,这意味着它使用约束系统来调整任何屏幕尺寸的内容,这就是为什么在设计应用程序时应始终在多个设备上测试它。

Xamarin.Forms 使用 xaml 作为 renderng 显示的基本标记语言,并在运行时将其转换为本机对应项。对于 iOS,它转换为统一的 api,使用自动布局来调整不同屏幕尺寸的视图大小。有关 xamarin 的 xaml 怪癖的信息可以在此处找到。 https://developer.xamarin.com/guides/xamarin-forms/xaml/

总而言之,使用 Xamarin.Forms 您不必过多担心屏幕尺寸,它会根据您的布局和约束调整视图。因此,每个页面只有一个界面设计器,不需要多个故事板 (iOS) 或 Android 替代方案。

话虽这么说,您仍然可以微观管理您的视觉效果,设置动态字体大小、基于比例的动态大小控件或您想要的特定大小。老实说,我会从 Xamarin.Forms 示例应用程序之一开始,看看它们在不同设备上的工作情况。

我们将 Xamarin.Forms 用于我们的跨平台应用程序之一,并且无需对 Forms xaml 中使用的底层组件进行任何真正的调整,我可以肯定地说,它目前支持并适用于所有 Android 平板电脑、所有 Apple 设备(除了Mac 系列)、所有 Windows 设备(手机、平板电脑和台式电脑)。所以我认为你不必太担心。


一些有用的链接:

平板电脑和桌面应用程序的布局。 https://developer.xamarin.com/guides/xamarin-forms/user-interface/layouts/tablet/- 这是有关 Xamarin.Forms 的一些更详细的信息。

主详细信息页面 https://developer.xamarin.com/api/type/Xamarin.Forms.MasterDetailPage/- 非常适合只关注大屏幕设备

跨平台图像优化 https://developer.xamarin.com/guides/xamarin-forms/user-interface/images/- 你提到了这一点,关于android等的不同文件夹,情况仍然如此。

Xamarin.Forms 自适应 UI 解释 https://devblogs.microsoft.com/xamarin/adaptive-ui-xamarin-forms/- 有关 Xamarin.Forms 中的自适应 UI 实际工作原理的博客文章。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何开发适用于手机和平板电脑的 Xamarin 表单应用程序 的相关文章

随机推荐

  • 缓存失效——有通用的解决方案吗?

    计算机科学中只有两个难题 缓存失效和命名 菲尔 卡尔顿 是否有通用的解决方案或方法来使缓存失效 知道条目何时过时 以便保证您始终获得最新数据 例如 考虑一个函数getData 从文件中获取数据 它根据文件的上次修改时间对其进行缓存 每次调用
  • Rails、设计身份验证、CSRF 问题

    我正在使用 Rails 制作一个单页应用程序 登录和注销时 使用 ajax 调用 Devise 控制器 我遇到的问题是 当我 1 登录 2 注销然后再次登录时不起作用 我认为这与 CSRF 令牌有关 当我注销时 该令牌会被重置 尽管它不应该
  • symfony2 - 获取执行时间

    我想使用 symfony2 为我的应用程序制作一个状态页 我想在其中打印特定请求的执行时间 以及其他数据 无论如何我找不到这样做 我知道我可以通过以下方式跟踪代码部分的执行时间 starttime microtime do somethin
  • Mysql 带游标的存储过程

    Mysql游标问题 我编写了一个存储过程 它将从一个表中获取旅行记录并将其插入到 2 3 个不同的表中 使用插入语句 问题是我正在检查 table1 中是否不存在记录 然后我将记录从 temptable 顺序插入到 table1 table
  • PHP - 检查一个字符串是否是另一个字符串的旋转

    需要编写一个代码块来检查一个字符串是否是另一个字符串的旋转 看了这里的大量帖子 都是用 Java 或 C 写的 但我需要用 PHP 来做 我尝试了一些不同的方法 尝试使用 C 和 Java 示例 但我没有任何运气 这是我当前的代码
  • bx滑块启动/停止功能

    我正在使用 bxslider 插件 并为上一个和下一个功能创建了一些外部控件 尽管我似乎不知道如何对启动 停止控件执行相同的操作 基本上我想用它作为滑块的播放 暂停功能 有人有这个插件的经验吗 这是我到目前为止所拥有的 没有启动 停止功能工
  • 跨域图片上传 Angular+laravel

    我一直在努力在服务器上上传图像 我在用ng文件上传 https github com danialfarid ng file upload在前端 但我总是得到 对预检请求的响应未通过访问控制检查 请求的资源上不存在 Access Contr
  • 如何在 Ruby 中解析带有单引号 (') 的 JSON 字符串?

    我正在尝试解析这样的 JSON 字符串 JSON parse foo 42 但是 这会产生 JSON ParseError JSON ParserError 757 unexpected token at foo 42 from Users
  • 更新插入文档和/或添加子文档

    我一直在努力解决 MongoDB Mongoose 和 JavaScript 的异步特性以及如何最好地对集合进行多次更新 我有一张包含客户和联系人数据的 Excel 表格 有些客户端有多个联系人 每行一个 并且客户端数据是相同的 因此客户端
  • 运行 Leiningen 时出现 java.lang.NoSuchMethodError:clojure.lang.KeywordLookupSite

    我刚刚下载了 Leiningen 但无法运行它 下载自己的 Jar 存档后 脚本失败并出现 java 错误 通过跑步bash x lein我可以看到它挂在这一行 exec java Xbootclasspath a home andrea
  • 如何使用 Swift 构建 ScrollView?

    我正在构建我的第一个 IOS 应用程序 我正在努力寻找一种方法来使用 XCode6 上的 Swift 代码做一个简单的 ScrollView 请问有人可以帮助我找到解决方案吗 我的问题是我不知道如何使滚动视图在我的代码中工作 我已经将代码放
  • 通过 gdal 将多个频段合并在一起...正确

    我正在 python 中使用一些 Sentinel 2 卫星图像 现在我使用较新的 2016 年之前的 没有任何问题 但我需要使用 2016 年的一些 欧洲航天局没有以同样的方式对这些进行预处理 通常 当您下载图块时 您通常会获得每个卫星频
  • 计算字符串中前导空格的 pythonic 方法是什么?

    我知道我可以用这个来计算字符串中的前导空格 gt gt gt a foo bar baz qua n gt gt gt print Leading spaces len a len a lstrip Leading spaces 3 gt
  • 具有椭圆积分和贝塞尔函数的 Java/Scala 数学库?

    我正在寻找一个用于科学计算的数学库 以便在 Java Scala 中使用 特别是我需要完整的椭圆积分和修正的贝塞尔函数 如果它是开源的 我会很高兴 但我想我将不得不采用那里的任何东西 替换 scipy 用于科学计算的 python 库 会很
  • 为什么对原始值使用表达式主体属性? [复制]

    这个问题在这里已经有答案了 表达式主体属性与直接属性声明相比有何优缺点 例如 使用有什么好处吗 public string Foo gt Bar 与简单地 public string Foo Bar 我的理解是 gt 当值来自方法 例如 l
  • 图片上传重力形式预览

    我使用 重力表格 制作了一个联系表格 其中我使用了图像上传器 现在我想向正在上传的用户显示图像的预览 有办法实现这个目标吗 抱歉 迟到的答复
  • XIB中如何根据子视图大小调整超级视图的高度?

    在xcode 6中 我为自定义视图创建了一个xib 名为 ViewA 有红色背景色 ViewA的xib有一个文件大小600 600 在ViewA中 我放置了一个子视图labelB 有绿色背景色 其中 labelB的numberOfLines
  • 为加密狗附加系统编写什么代码才能提供更好的安全性?

    我开发了一个软件 使用 C 和 Python 我想用加密狗对其进行保护 以便复制和逆向工程变得足够困难 我的加密狗设备附带一个 api 它提供以下功能 检查加密狗是否存在 检查正确的加密狗 写入加密狗的内存位置 从加密狗等的内存位置读取 我
  • 如何在方法内使用“this”创建类的新实例?

    我正在寻找一种方法来调用 newthis从类方法内部 class Example fork return new this const x new Example fork instance of example class Alpha e
  • 如何开发适用于手机和平板电脑的 Xamarin 表单应用程序

    1 在Android Java 中 手机和平板电脑有不同的文件夹 Layout布局 大布局 xlarge 2 在 iOS 中 使用通用设置 我还没有尝试过以 Xamarin 形式 我需要一些帮助 如果该应用程序适用于手机和平板电脑 我需要做