fix android & iOS consistency
This commit is contained in:
parent
7f20103148
commit
12bfb16ea1
@ -15,10 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package pub.doric;
|
package pub.doric;
|
||||||
|
|
||||||
import android.os.Build;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.View;
|
|
||||||
import android.view.WindowManager;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
@ -41,9 +38,5 @@ public class DoricActivity extends AppCompatActivity {
|
|||||||
.add(R.id.container, doricFragment)
|
.add(R.id.container, doricFragment)
|
||||||
.commit();
|
.commit();
|
||||||
}
|
}
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
|
||||||
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
|
|
||||||
}
|
|
||||||
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,8 +15,12 @@
|
|||||||
*/
|
*/
|
||||||
package pub.doric.plugin;
|
package pub.doric.plugin;
|
||||||
|
|
||||||
|
import android.os.Build;
|
||||||
|
import android.view.WindowManager;
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
import com.github.pengfeizhou.jscore.ArchiveException;
|
import com.github.pengfeizhou.jscore.ArchiveException;
|
||||||
import com.github.pengfeizhou.jscore.JSDecoder;
|
import com.github.pengfeizhou.jscore.JSDecoder;
|
||||||
import com.github.pengfeizhou.jscore.JSObject;
|
import com.github.pengfeizhou.jscore.JSObject;
|
||||||
@ -68,6 +72,16 @@ public class NavBarPlugin extends DoricJavaPlugin {
|
|||||||
JSObject jsObject = jsDecoder.decode().asObject();
|
JSObject jsObject = jsDecoder.decode().asObject();
|
||||||
boolean hidden = jsObject.getProperty("hidden").asBoolean().value();
|
boolean hidden = jsObject.getProperty("hidden").asBoolean().value();
|
||||||
navBar.setHidden(hidden);
|
navBar.setHidden(hidden);
|
||||||
|
|
||||||
|
AppCompatActivity activity = ((AppCompatActivity) getDoricContext().getContext());
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
||||||
|
if (hidden) {
|
||||||
|
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
|
||||||
|
} else {
|
||||||
|
activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
promise.resolve();
|
promise.resolve();
|
||||||
} catch (ArchiveException e) {
|
} catch (ArchiveException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
@ -16,6 +16,7 @@ import pub.doric.async.AsyncResult;
|
|||||||
import pub.doric.extension.bridge.DoricMethod;
|
import pub.doric.extension.bridge.DoricMethod;
|
||||||
import pub.doric.extension.bridge.DoricPlugin;
|
import pub.doric.extension.bridge.DoricPlugin;
|
||||||
import pub.doric.extension.bridge.DoricPromise;
|
import pub.doric.extension.bridge.DoricPromise;
|
||||||
|
import pub.doric.utils.DoricUtils;
|
||||||
import pub.doric.utils.ThreadMode;
|
import pub.doric.utils.ThreadMode;
|
||||||
|
|
||||||
@DoricPlugin(name = "statusbar")
|
@DoricPlugin(name = "statusbar")
|
||||||
@ -38,8 +39,10 @@ public class StatusBarPlugin extends DoricJavaPlugin {
|
|||||||
AppCompatActivity activity = ((AppCompatActivity) getDoricContext().getContext());
|
AppCompatActivity activity = ((AppCompatActivity) getDoricContext().getContext());
|
||||||
View decorView = activity.getWindow().getDecorView();
|
View decorView = activity.getWindow().getDecorView();
|
||||||
if (hidden) {
|
if (hidden) {
|
||||||
|
decorView.setPadding(0, DoricUtils.getStatusBarHeight(activity), 0, 0);
|
||||||
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
|
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
|
||||||
} else {
|
} else {
|
||||||
|
decorView.setPadding(0, 0, 0, 0);
|
||||||
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
|
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
|
||||||
}
|
}
|
||||||
currentMode = 0;
|
currentMode = 0;
|
||||||
|
Reference in New Issue
Block a user