我想在两个平台上实现相同的外观,比如Instagram。默认情况下,react native会带来特定于平台的UI
是的,因为这就是它的工作方式,就像使用普通Java和Objective-C/Swift一样。React Native并不意味着是一种一刀切的方法,它也不意味着成为一个可以创建在所有平台上看起来都一样的应用程序的框架。
您必须使用每个应用程序中提供的工具、UI框架和工具包来自定义每个应用程序的颜色、视图和图像。
更新以获取更多信息
回答这个问题比你想象的要困难:),因为框架的选择直接影响到你如何开发应用程序,以及你和你的团队必须使用哪些技术。例如,您可以使用混合方法(如Cordova),这样您就可以使用HTML和CSS,但根据您想要实现的目标,这可能是一剂强心针。
你也可以使用Xamarin和它的Xamarin.Forms UI框架(我实际上使用了它,觉得它很棒),但之后你必须坚持使用C#,仍然需要对平台进行调整。
你可能想尝试一个名为"Native CSS"的(付费)产品(https://nativecss.com,我与之无关),它允许您在本机代码中使用CSS。
关键是,如果没有您的需求、能力甚至业务决策的具体细节,很难安全地说">采用这种方法"。
然而,根据我的经验,让应用程序在Android和iOS中看起来一样并不难,因为你所要做的就是使用每个平台的工具以你想要的方式绘制用户界面。
如果您希望在各个平台上都有相同的外观,那么您需要重新构建所有通用组件并应用您的设计风格。或者您可以使用一些现有的库来完成此操作。我喜欢材料设计风格,所以我可能会选择以下其中一种:
https://github.com/react-native-material-design/react-native-material-designhttps://github.com/xinthink/react-native-material-kit
我正在处理react native material ui,它应该接近material ui。
我们需要有完全和非常容易地改变应用程序的风格/主题的选项。没有任何图书馆提供这种可能性。当然,您可以通过组件的道具设置一些东西。但是,您必须在代码中使用该组件的每个地方都对其进行更改。
反应中的天然材料ui
- 您可以定义将与默认样式合并的对象,并在应用程序中的任何地方使用-非常简单
- 仍然有可能通过道具只改变一个组件的风格
- 或者你甚至可以在你自己的组件中使用你的风格(通过上下文)