我正在尝试在React Native中加载android布局xml文件。
Custom_android_view.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_centerInParent="true"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_marginHorizontal="10dp"
android:id="@+id/txtView1"
android:textSize="20dp"
android:text="Android Text View"
android:layout_height="wrap_content" />
</LinearLayout>
我正在这个java类中扩展XML文件:
customView.Java文件
package com.rnanduicomp;
import android.content.Context;
import android.widget.LinearLayout;
public class CustomView extends LinearLayout {
public CustomView(Context context) {
super(context);
}
public void init() {
inflate(getContext(), R.layout.custom_android_view, this);
}
}
我的customViewPackage文件
package com.rnanduicomp;
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import java.util.Collections;
import java.util.List;
public class CustomViewPackage implements ReactPackage {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Collections.<ViewManager>singletonList(
new CustomeViewManager()
);
}
}
我的customViewManager
package com.rnanduicomp;
import com.facebook.react.uimanager.SimpleViewManager;
import com.facebook.react.uimanager.ThemedReactContext;
public class CustomeViewManager extends SimpleViewManager<CustomView> {
public final String REACT_CLASS="CustomLinearView";
@Override
public String getName() {
return REACT_CLASS;
}
@Override
protected CustomView createViewInstance(ThemedReactContext reactContext) {
return new CustomView(reactContext);
}
}
customViewPackage已保存在mainapplication.java文件中。
我在react native中的customLinearView.js
import React, { requireNativeComponent,View, Component,ViewPropTypes } from "react-native";
module.exports=requireNativeComponent('CustomLinearView');
在app.js中
import CustomLinearView from "./Native-Modules/CustomLinearView.js";
在导入app.js并加载组件时。其显示空白页。 让我知道如何解决这个问题。