如何在iOS和Android上使React Native应用程序看起来一样?

时间:2017-01-08 23:14:49

标签: react-native cross-platform

我想在两个平台上实现相同的外观,例如Instagram。默认情况下,native native正在引入特定于平台的UI

3 个答案:

答案 0 :(得分:4)

是的,因为这是它的工作方式,就像你使用普通的Java和Objective-C / Swift一样。 React Native并不是一种适合所有人的方法,它也不是一个可以创建在所有平台上看起来相同的应用程序的框架。

您必须使用每个应用程序中可用的工具和UI框架和工具包自定义每个应用程序中的颜色,视图和图像。

已更新以获取更多信息

回答这个问题比你想象的要难得多,因为选择框架会直接影响你开发应用程序的方式以及你和你的团队必须使用的技术。例如,您可以采用混合方法(如Cordova),因此您可以使用HTML和CSS,但这可能是脚下的一个镜头,具体取决于您想要实现的目标。

你也可以使用Xamarin及其Xamarin.Forms UI框架(我实际使用并发现它很棒),但是你必须坚持使用C#并且仍然需要进行平台调整。

你可能想要尝试一个名为“Native CSS”(付费)的产品(https://nativecss.com,我与它无关),它允许你在本机代码中使用CSS。

关键是,如果没有关于您的需求,能力甚至业务决策的具体细节,就很难安全地说“采用这种方法”。

然而,根据我的经验,Android和iOS中的应用程序看起来并不难,因为您所要做的就是使用每个平台的工具以您想要的方式绘制UI。

答案 1 :(得分:1)

如果您希望在平台上看到相同的外观,则需要重建所有常用组件并应用您的设计样式。或者你可以使用一些现有的库来做到这一点。我喜欢材料设计风格,所以我可能会选择以下其中一种:

https://github.com/react-native-material-design/react-native-material-design https://github.com/xinthink/react-native-material-kit

答案 2 :(得分:1)

我正在研究react-native-material-ui,它应该接近material-ui。

我们需要选择完全且非常轻松地更改应用程序的样式/主题。并没有提供这种可能性的库。当然,你可以通过组件的道具设置几件事。但是,您必须在代码中使用该组件的每个位置更改它。

react-native-material-ui

  • 您可以定义将与默认样式合并的对象,并在您的应用中随处使用 - 非常简单
  • 仍有可能通过道具
  • 更改一个组件的样式
  • 或者您甚至可以在自己的组件中使用您的风格(通过上下文)