在Android 4.4上,ListView分隔线的厚度不一致,有些则不渲染.我无法看到这是一个代码问题,这就是我渲染它们的方式:
separator: {
height: 1,
backgroundColor: 'grey',
}
...
<ListView
renderSeparator={(sectionID, rowID) =>
<View key={`${sectionID}-${rowID}`} style={styles.separator} />
}
.../>
Run Code Online (Sandbox Code Playgroud)
以下是带有此问题的View的屏幕截图:
在iOS或Android 6上不会发生此问题.
以前有人有这个问题吗?
更新
我做了一个测试,这不是Android4的问题.在Nexus One设备上运行时,它会在所有API版本上发生(在android模拟器中)
我按照这个官方帮助页面进行了操作,并参考了之前的SO问题.
但我仍然不知道这里有什么问题.
让我们一步一步:
确保程序包服务器正在运行.从截图中,您可以看到我键入的命令"react-native run-android"和响应"Starting JS server ..."
确保您的设备已连接...是的,Vysor会看到我的设备.我们看到Vysor在屏幕截图中显示了应用程序.
... 启用USB是的,应用程序正在运行,这就是为什么我们看到红色的错误屏幕,但它仍然在运行的应用程序.
运行"adb reverse tcp:8081 tcp:8081"是的,屏幕截图显示我运行了命令.
设备和端口......是的,也是这样做的.见下一个截图
我还做错了什么?我怎样才能使它工作?
我的application.react本机listView中有113条记录需要3秒多的时间才能呈现所有行.如何使其高效,以便时间消耗最小化,应用体验可以顺利进行.我在ios中检查了相同的应用程序,与react-native app版本相比,它效率更高.我每行都有一个头像图像和名称和按钮.
这是listview的代码
var Ziglist = React.createClass({
getInitialState: function() {
return {
isLoading: true,
resultsData: new ListView.DataSource({
rowHasChanged: (row1, row2) => row1 != row2 }),
};
},
componentWillMount: function(){
PeopleStore.listen(this.onChange);
PeopleActions.getPeopleFollowing();
},
componentWillUnmount() {
PeopleStore.unlisten(this.onChange);
},
onChange(state) {
this.setState({resultsData: this.getDataSource(state.resultsData)})
},
getDataSource: function(mediaItem: Array<any>): ListView.dataSource {
return this.state.resultsData.cloneWithRows(mediaItem)
},
render: function() {
return (
<View style={{flex: 1}} >
<ListView
dataSource={this.state.resultsData}
renderRow={this.renderRow}
renderSeperator={this.renderSeperator}
contentInset={{top: 0}}
automaticallyAdjustContentInsets={false}
/>
<Button
containerStyle={styles.goAhead}
style={styles.base}
onPress={() => this.onStartPress()}>
<Text style={[styles.base,styles.go]}>Ok, Lets GO > </Text>
</Button>
</View> …Run Code Online (Sandbox Code Playgroud) reactjs reactjs-flux react-native react-native-listview react-native-android
我正在通过反应本机代码,并在其中一个文件中找到以下代码:
#define RCTLog(...) _RCTLog(RCTLogLevelInfo, __VA_ARGS__)
#define RCTLogTrace(...) _RCTLog(RCTLogLevelTrace, __VA_ARGS__)
#define RCTLogInfo(...) _RCTLog(RCTLogLevelInfo, __VA_ARGS__)
#define RCTLogWarn(...) _RCTLog(RCTLogLevelWarning, __VA_ARGS__)
#define RCTLogError(...) _RCTLog(RCTLogLevelError, __VA_ARGS__)
Run Code Online (Sandbox Code Playgroud)
我想知道Android 是否也有类似的东西(原生反应).我尝试通过反应本机代码捕获,但找不到任何方法来执行此操作.我想知道是否有人必须为Android做这件事.
有人可以帮我这个吗?
logging reactjs react-native react-native-android react-native-ios
我正在尝试在Windows7上设置react-native。
我安装了以下东西:
C:\Windows\system32>node -v
v6.2.0
C:\Windows\system32>npm -v
3.8.9
C:\Windows\system32>javac -version
javac 1.8.0_60
Run Code Online (Sandbox Code Playgroud)
我尚未安装Python。当我尝试react-native init AwesomeProject在AwesomeProject中仅下载2件事时:node_modules dir和
package.json
{
"name": "AwesomeProject",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start"
},
"dependencies": {
"react-native": "0.41.2"
}
}
Run Code Online (Sandbox Code Playgroud)
这是不完整的项目。ReactNative0.41文件说
我们建议安装Node.js和Python2。
为什么建议将Python与react-native一起使用?react-native是否需要python克隆种子项目?
我还安装了以下内容:
当我按下按钮时,它应该导航到另一个页面,它也会增加查看次数.
但我无论如何都无法理解同时实施它们.
这是我的代码:
<Button onPress={Actions.ideaOnClick}>
<Button onPress={() => this.setState({views: ++this.state.views})}>
Run Code Online (Sandbox Code Playgroud) button react-native react-native-android react-native-ios react-navigation
似乎edgePadding在fitToCoordinates函数中没有做任何事情.无论我设置哪个值,结果总是相同的.我尝试将顶部,右侧,左下角设置为0,300,将它们彼此更改...... mapview始终相同.
<MapView
ref={(ref) => { this.mapRef = ref }}
onLayout = { () => this.mapRef.fitToCoordinates([{longitude: x, latitude: y}], { edgePadding: { top: 0, right: 0, bottom: 120, left: 0 }, animated: false })}
/>
Run Code Online (Sandbox Code Playgroud)
我希望能够从给定的坐标缩小一点.在给定区域中没有LongitudeDelta或LatitudeDelta,因此我假设必须使用edgePadding参数进行缩小.
你以前遇到过这个问题吗?
react-native react-native-android react-native-ios react-native-maps
我正在用React Native编写代码.当我第一次创建用于检查运行的react-native app时,我没有看到.当我实现我的代码时,请看到.我的目的是生成apk.
结果:我用npm install解决了我的问题.我想说很多个月后.
我正在运行示例应用程序.当我生成apk for android得到这样的错误......
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processReleaseResources'.
> Failed to process resources, see aapt output above for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 59s
39 actionable tasks: 36 executed, 3 up-to-date
Run Code Online (Sandbox Code Playgroud)
请给我任何建议.谢谢.
我有3个简单的React组件-
首先是实际视图(让我们将此屏幕命名为A)-
return(
<ImageBackground
...
>
<ScrollView>
<ChildButton
onPress={this.someFunction.bind(this)}
/>
</ScrollView>
</ImageBackground>
)
Run Code Online (Sandbox Code Playgroud)
然后是ChildButton组件---
return(
<ChildButton>
<Button
style={...someStyleObject}
onPress={this.props.onPress}
>
</Button>
</ChildButton>
)
Run Code Online (Sandbox Code Playgroud)
然后有Button组件-
return (
<TouchableOpacity
onPress={this.props.onPress}
>
{this.props.children}
</TouchableOpacity>
)
Run Code Online (Sandbox Code Playgroud)
这里的主要问题是我的onPress没有从屏幕A调用,仅在Android上。在iOS上运行正常。可能的原因是什么?
注意:我已经将控制台放入ChildButton和Button组件中,并且它们没有被打印出来。
react-native ×9
reactjs ×3
android ×1
button ×1
expo ×1
logging ×1
native ×1
python ×1
reactjs-flux ×1