我正在使用https://github.com/zmxv/react-native-sound在我的iOS(和Android)应用程序上播放声音,我正在尝试通过React Native的资产系统包含声音文件,但是当我打电话时:
var sound = require('./sound.mp3');
我收到错误:
无法从[project] /index.ios.js解析模块./sound.mp3:无效的目录[project] /sound.mp3
我的MP3文件位于项目的正确(根)目录中,与错误打印的文件路径完全相同.我也试过把它放在其他目录中.
根据这个帖子,听起来声音文件应该能够使用require()进行打包?
只是做一个测试,需要一个完美的图像:
var image = require('./image.png');
我正在使用API在Google上构建应用,使用API.AI,允许用户通过Google Home与我的应用对话.API.AI允许我在两个男声和两个女声之间进行选择,但是,这四种声音都不是普通的Google Home声音.
有没有办法让Google Home保持正常的声音而不是这四种机器人替代方案?谷歌之家突然切换声音,这很奇怪.
React Native是否缓存远程图像?
我有一个远程下载数十个图像的应用程序.这些图像似乎缓存在我的应用程序中,但是,我不确定它是默认情况下正在执行此操作的操作系统,还是React Native正在缓存它们.
如果它是React Native,有没有办法自定义它们被缓存多长时间?或者远程服务器是否定义了这个?
根据我的阅读,React Native需要具有android.permission.SYSTEM_ALERT_WINDOW在调试模式下启用其开发人员界面的权限.但是,在发布版本时,仍然包含此权限,这会导致用户惊慌失措(因为它表示"允许绘制其他应用程序").
我可以手动删除AndroidManifest.xml中的权限,但是当我处于开发模式时,这会破坏应用程序 - 而这并不是我每次发布新版本时都想做的事情.
有没有办法只禁用该应用程序的发布版本的权限?
在React Native中,我有一个<Text numberOfLines={5}>正常工作的元素,但是当文本在换行符之前被剪切时却没有.
例如,在此屏幕截图中,第一部分工作正常,但在第二部分中,在"Transport:"之后立即存在换行符,然后文本继续,但React Native不显示省略号,因此用户赢了"知道有文字被剪裁.
这可能吗?我看到了Text prop lineBreakMode的一些PR,但看起来它还没有发布.那个道具会解决这个问题吗?在当前版本的React Native中有一种简单的方法吗?
我正在<SafeAreaView>我的 React Native 应用程序上实现一个。我的大部分屏幕都在 ScrollView 中。当我添加 时<SafeAreaView>,它会阻碍内容。虽然我希望这个底部区域是“安全的”,但我希望用户能够看到它后面的内容,否则,空间就被浪费了。
如何实现“透明”安全区域?
简化示例:
class ExampleScreen extends Component {
render() {
return (
<SafeAreaView>
<Scrollview>
<Text>Example</Text>
<Text>Example</Text>
<Text>Example</Text>
(etc)
</Scrollview>
</SafeAreaView>
);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:

期望输出:

在iOS上,您可以放入一个<Picker>弹性框并使拾取器在整个屏幕宽度上弯曲.
使用<Picker>React Native中的新跨平台元素,在Android上执行此操作的最简单方法是什么?
Android上的Picker只接受width元素,显然不接受百分比值.它不会缩放到其容器的宽度.