React Native Android-尝试为ViewPager编写自定义UI组件时出错
我有一个自定义的viewpager,我正试图在android中为它编写一个自定义的UI模块。我想学习如何做到这一点,因为我只能移植我的应用程序,以便在android端为所有自定义模块轻松编写这些ManagerClass时做出反应React Native Android-尝试为ViewPager编写自定义UI组件时出错,android,android-viewpager,reactjs,react-native,Android,Android Viewpager,Reactjs,React Native,我有一个自定义的viewpager,我正试图在android中为它编写一个自定义的UI模块。我想学习如何做到这一点,因为我只能移植我的应用程序,以便在android端为所有自定义模块轻松编写这些ManagerClass时做出反应 protected MaterialViewPager createViewInstance(ThemedReactContext themedReactContext) { mViewPager = new MaterialViewPager(them
protected MaterialViewPager createViewInstance(ThemedReactContext themedReactContext) {
mViewPager = new MaterialViewPager(themedReactContext);
mViewPager.setMaterialViewPagerListener(new MaterialViewPager.Listener() {
@Override
public HeaderDesign getHeaderDesign(int page) {
switch (page) {
case 0:
return HeaderDesign.fromColorResAndUrl(
R.color.green,
"https://fs01.androidpit.info/a/63/0e/android-l-wallpapers-630ea6-h900.jpg");
case 1:
return HeaderDesign.fromColorResAndUrl(
R.color.blue,
"http://cdn1.tnwcdn.com/wp-content/blogs.dir/1/files/2014/06/wallpaper_51.jpg");
return null;
}
});
mViewPager.getViewPager().setOffscreenPageLimit(mViewPager.getViewPager().getAdapter().getCount());
mViewPager.getPagerTitleStrip().setViewPager(mViewPager.getViewPager());
return mViewPager;
}
我在MainActivity.java中有
public List<ViewManager> createViewManagers(
ReactApplicationContext reactContext) {
return Arrays.<ViewManager>asList(
new MaterialViewPagerManager()
);
}
最后是index.android.js
var {
Text,
View,
MatViewPager,
} = React;
[...]
render: function() {
return (
<MatViewPager>
</MatViewPager>
);
}
任何react开发者都可以为我指出正确的方向?首先,确保您
ManagerClass
getName
方法返回“rctmatviewpage”
其次,您需要导入js模块。它不在React模块中,因为您创建了自己的MatViewPager.js:
var MatViewPager = require('./{path_to_your_modules}/MatViewPager');
Error: Invariant Violation: Element type is invalid: expected a string
(for built-in components) or a class/function (for composite components)
but got: undefined.
var MatViewPager = require('./{path_to_your_modules}/MatViewPager');