Ich versuche, die YouTube Android API als UI-Komponente für React Native zu verpacken. Ich war erfolgreich in der Android-Konfiguration der Dinge (onInInitializationSuccess bekommen), aber ich bin nicht in der Lage, herauszufinden, wie die YouTubePlayerView zurück zu meiner React Native App bekommen.Enthüllung von Fragmenten in React Native Android ViewManager
Laut der Dokumentation empfehlen sie die Verwendung von YouTubePlayerFragment, wenn YouTubeBaseActivity nicht erweitert werden kann. Da React Native auf Android keine XML-basierten Layouts verwendet, habe ich versucht, die Ansichten programmgesteuert zu erstellen. Wenn ich jedoch die Wrapping-Ansicht zurückgebe (ich habe es als FrameLayout versucht, bin mir aber nicht sicher, ob das die richtige Wahl war), habe ich erstellt, dass nichts in der Anwendung wiedergegeben wird.
Ich suche jetzt ist es extrem einfach zu halten, sind hier die notwendigen Bit-Code:
YouTubeManager.java
public class YouTubeManager extends SimpleViewManager<FrameLayout> implements YouTubePlayer.OnInitializedListener {
// ...
@Override
protected FrameLayout createViewInstance(ThemedReactContext reactContext) {
this.reactContext = reactContext;
FrameLayout view = new FrameLayout(reactContext);
view.setId(View.generateViewId());
FragmentManager fragmentManager = activity.getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
YouTubePlayerFragment fragment = new YouTubePlayerFragment();
fragmentTransaction.add(view.getId(), fragment);
fragmentTransaction.commit();
fragment.initialize("SECRET_KEY", this);
return view;
}
// ...
}
YouTube.js
class YouTube extends Component {
render() {
return <YouTubeAndroid {...this.props}/>;
}
};
var iface = {
name : 'YouTube',
propTypes : {
...View.propTypes
},
};
var YouTubeAndroid = requireNativeComponent('YouTube', iface);
module.exports = YouTube;
index.android.js
Jede Hilfe würde wirklich geschätzt werden, danke!
Does explizite Höhe und Breite auf youtube Komponentenhilfe einstellen? –
@agent_hunt Ja, ich habe versucht, es eine feste Höhe/Breite und backgroundColor. Es rendert nur eine leere Ansicht https: //www.dropbox.com/s/3obfjs6agcux3z2/Screenshot% 202016-03-26% 2017.10.55.png? dl = 0 – stan229
Ist das Problem gelöst? Hast du es geschafft, das Fragment zu rendern? – lschmierer