How to lock orientation for iPhone: Portrait and for iPad: Landscape. it should not be changed after rotate screen
rskapadiadev opened this issue · 1 comments
rskapadiadev commented
This is my code snippet
Orientation.unlockAllOrientations();
if (isTabletOrIpad) Orientation.lockToLandscape()
else Orientation.lockToLandscape()
It compulsory to add all orientation support in Project Target > General > Device Orientation
it works first time but after rotate again and again it goes wrong
If anyone have solution, then add solution here
rskapadiadev commented
i got my answer
no need any third party library
follow this link
https://thewidlarzgroup.com/rn-type-dependent-orientation/
In update to this article for Android 4+ (API 14+)
Follow this step
Update MainApplication.java
imports are
import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatDelegate;
Update onCreate Method
@Override
public void onCreate() {
super.onCreate();
registerActivityLifecycleCallbacks(new ActivityLifecycleAdapter() {
@Override
public void onActivityCreated(Activity a, Bundle savedInstanceState) {
a.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
});
}
and Make class outside of MainApplication class named ActivityLifecycleAdapter by implements ActivityLifecycleCallbacks
class ActivityLifecycleAdapter implements Application.ActivityLifecycleCallbacks {
@Override
public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle bundle) {}
@Override
public void onActivityStarted(@NonNull Activity activity) {}
@Override
public void onActivityResumed(@NonNull Activity activity) {}
@Override
public void onActivityPaused(@NonNull Activity activity) {}
@Override
public void onActivityStopped(@NonNull Activity activity) {}
@Override
public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle bundle) {}
@Override
public void onActivityDestroyed(@NonNull Activity activity) {}
}