java - 需要使用android原生代码在react native中隐藏和禁用状态栏
问题描述
我正在尝试使用 android 本机代码在本机反应中禁用状态栏和主页和历史记录按钮。React native 为 back btn 提供功能,就是这样做的。
MainActivity.java
package com.kiosk;
import com.facebook.react.ReactActivity;
import com.facebook.react.ReactActivityDelegate;
import com.facebook.react.ReactRootView;
import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;
import org.devio.rn.splashscreen.SplashScreen;
import android.os.Bundle;
public class MainActivity extends ReactActivity {
/**
* Returns the name of the main component registered from JavaScript. This is used to schedule
* rendering of the component.
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
SplashScreen.show(this);
FullScreencall();
super.onCreate(savedInstanceState);
}
public void FullScreencall() {
if(Build.VERSION.SDK_INT < 19){
View v = this.getWindow().getDecorView();
v.setSystemUiVisibility(View.GONE);
} else {
//for higher api versions.
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility(uiOptions);
}
}
@Override
protected String getMainComponentName() {
return "AwesomeProject";
}
@Override
protected ReactActivityDelegate createReactActivityDelegate() {
return new ReactActivityDelegate(this, getMainComponentName()) {
@Override
protected ReactRootView createRootView() {
return new RNGestureHandlerEnabledRootView(MainActivity.this);
}
};
}
}
得到的错误:
error: cannot find symbol
v.setSystemUiVisibility(View.GONE);
^
symbol: variable View
location: class MainActivity
error: cannot find symbol
View decorView = getWindow().getDecorView();
^
symbol: class View
location: class MainActivity
error: cannot find symbol
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
^
symbol: variable View
location: class MainActivity
error: cannot find symbol
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
^
symbol: variable View
location: class MainActivity
你有没有在 react native 或 java 中做过,请帮助我,我卡住了,一些代码片段会有所帮助
解决方案
您忘记导入 View 类。将此行添加到 MainActivity.java 的开头:
import android.view.View;
推荐阅读
- crystal-reports - 使用水晶报表 sql 表达式作为日期
- php - 在 laravel 8 中,@lang 指令在哪里定义?
- ios - 从 api swift 获取数据的表视图分页
- python - AttributeError:当我尝试使用数据驱动程序库运行测试时,“TestCase”对象没有属性“lineno”
- bash - 分解一个长字符串,然后将十六进制转换为十进制
- flutter - 为什么 Flutter 预定义的主题不会自动应用
- swift - 你如何处理返回 Any 的闭包?快速输入?
- javascript - 从数据表中删除当前行
- python - 如何将垂直滚动条添加到 QListWidget()
- java - 当 jenkins.war 未运行时,Jenkins 未运行