Nativescript 样式限制

Nativescript style limitations

我开始使用 nativescript 开发移动应用程序,一切都很顺利,直到我意识到我无法根据需要自定义样式。例如,我无法将边框设置为 border-width: 1 0 0 1 这样的按钮。 有没有办法扩展样式行为? 我正在考虑开始使用离子 :(

截至目前,NativeScript 公开的 css 子集不提供每边边框。他们是 iOS 上要做的 PITA,好消息是核心团队知道这一点,我相信最近几周已将其列为优先事项。所以我希望在即将发布的版本中成为可能。

综上所述,如果您有特定的情况需要,您仍然可以使用 NativeScript 实现它,但它不像 css 边框样式那么容易。请记住 NativeScript 中的 css 样式器正在映射到原生 methods/properties 以设置原生组件的样式,因此能够使用 css 真是太棒了,即使它与广大css 浏览器拥有,每个版本都会变得更好

如果你现在想做每边边框,你可以使用高度为 1 的堆栈布局并设置背景颜色。因此,对于 4 面对象,您将使用网格布局并将堆栈放在第一行和第三行,您的组件放在中间(第二行),然后在第一列和第 3 列(0 和 1 值)放置一个堆栈。同样,我知道它并不理想,但这只是目前的一个限制,因为它没有在 NativeScript 的 css 子集中公开。我有一段时间没有检查任何更新的来源或问题,但现在可能正在处理一些事情以启用此功能。希望这对一些人有所帮助。如果您有一些代码并需要帮助,请分享,我可以提供更多帮助。

从 NativeScrtip 版本 2.4.0(下一个版本)开始,此功能将可用,这意味着您将能够使用

创建边框
border-width:0 2 2 0;
border-color: red;

如果您想现在(在 2.4.0 发布之前)进行测试,请删除 tns-core-modules 并安装@next 版本。

tns plugin remove tns-core-modules
tns plugin add tns-core-modules@next

您还可以查看 at this issue 以了解您可以使用新的边框实现做什么