Я создаю гибридное приложение ReactNative, запускаю настраиваемую ReactNativeActivity с ReactRootView, добавленным в нативный макет.
Это отлично работает при первом запуске действия (см. Первый снимок экрана), но во второй раз, когда я запускаю действие (после нажатия кнопки «Назад», чтобы уничтожить действие), ReactRootView имеет высоту около 10 пикселей.
Почему это так?Что я могу сделать, чтобы у рендера была правильная высота во второй раз?
Вот код из моей пользовательской ReactNativeActivity:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle properties = new Bundle();
Intent intent = this.getIntent();
if (intent != null) {
properties = intent.getExtras();
}
mReactRootView = new ReactRootView(this);
mReactInstanceManager = ReactInstanceManager.builder()
.setApplication(getApplication())
.setBundleAssetName("index.android.bundle")
.setJSMainModulePath("index")
.addPackage(new MainReactPackage())
.setUseDeveloperSupport(BuildConfig.DEBUG)
.setInitialLifecycleState(LifecycleState.RESUMED)
.build();
mReactRootView.startReactApplication(mReactInstanceManager, "CommutybleMobile", properties);
setContentView(R.layout.layout_react);
LinearLayout mainLayout = findViewById(R.id.overallLayout);
mainLayout.addView(mReactRootView);
}
Вот мой макет:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="start"
android:id="@+id/overallLayout"
android:orientation="vertical">
</LinearLayout>
Визуализация после первого запуска действия:
![good render](https://i.stack.imgur.com/UXSZ9.png)
Визуализация после возврата назад и запуска второго действия:
![bad render](https://i.stack.imgur.com/Oplzk.png)