Description
Dear friend ,
i write sample native component like your document step by step but calling from js return blank screen (show white screen)
react-native version : 0.59.8
VideoPlayerPackage.java
package com.videoPlayer;
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import com.videoPlayer.VideoPlayerManager;
import java.util.Collections;
import java.util.List;
public class VideoPlayerPackage implements ReactPackage {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Collections.<ViewManager>singletonList(new VideoPlayerManager());
}
}
VideoPlayerManager.java
import android.os.Build;
import android.support.annotation.Nullable;
import android.support.annotation.RequiresApi;
import android.view.View;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.uimanager.SimpleViewManager;
import com.facebook.react.uimanager.ThemedReactContext;
import com.facebook.react.uimanager.annotations.ReactProp;
public class VideoPlayerManager extends SimpleViewManager {
private static final String VIDEO_SOURCE = "src";
private static final String PROP_URI = "uri";
@Override
public String getName() {
return "VideoPlayer";
}
@Override
public VideoPlayerView createViewInstance(ThemedReactContext themedReactContext) {
return new VideoPlayerView(themedReactContext);
}
@ReactProp(name = VIDEO_SOURCE)
public void setSource(final View videoTest, @Nullable ReadableMap src) {
}
}
VideoPlayerView.java
import android.content.Context;
import android.net.Uri;
import android.util.AttributeSet;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import com.facebook.react.uimanager.ThemedReactContext;
import com.novincinema.cinemamarket.R;
public class VideoPlayerView extends RelativeLayout {
public VideoPlayerView(Context context) {
super(context);
init();
}
public VideoPlayerView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public VideoPlayerView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
inflate(getContext(), R.layout.video_test, this);
}
}
video_test.xml
<LinearLayout
android:id="@+id/child_layout"
android:layout_width="100dp"
android:layout_height="50dp"
android:background="#ffee11"/>