【发布时间】:2016-10-21 20:27:24
【问题描述】:
我开始使用 nativescript 开发移动应用程序,一切都很顺利,直到我意识到我无法根据需要自定义样式。例如,我不能将边框设置为像border-width: 1 0 0 1 这样的按钮。
有没有办法扩展样式行为?
我正在考虑开始使用 ionic :(
【问题讨论】:
标签: nativescript angular2-nativescript
我开始使用 nativescript 开发移动应用程序,一切都很顺利,直到我意识到我无法根据需要自定义样式。例如,我不能将边框设置为像border-width: 1 0 0 1 这样的按钮。
有没有办法扩展样式行为?
我正在考虑开始使用 ionic :(
【问题讨论】:
标签: nativescript angular2-nativescript
从 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,了解您可以使用新边框实现做什么
【讨论】:
截至目前,NativeScript 公开的 css 子集不提供每边边框。他们是在 iOS 上做的 PITA,好消息是核心团队知道这一点,我相信最近几周它已被优先考虑。所以我希望它会在即将发布的版本中成为可能。
话虽如此,如果您有特定的情况,您仍然可以使用 NativeScript 实现它,但它不像 css 边框样式那么容易。请记住,NativeScript 中的 css 样式器被映射到本机方法/属性以设置本机组件的样式,因此能够使用 css 真是太棒了,即使它不是 1-1 与浏览器拥有的大量 css,它确实会变得更好释放
如果您现在想制作每边边框,您可以使用高度为 1 的 stacklayout 并设置背景颜色。因此,对于 4 面对象,您将使用网格布局并在第一行和第三行放置一个堆栈,将您的组件放在中间(第 2 行),然后在第一列和 3 列(0 和 1 值)上放置一个堆栈。同样,我知道这并不理想,但它现在只是一个限制,它没有在 NativeScript 的 css 子集中公开。我有一段时间没有检查任何更新的来源或问题,但现在可能正在开发一些东西以启用此功能。希望这会有所帮助。如果您有一些代码需要帮助,请分享,我可以提供更多帮助。
【讨论】: