【发布时间】:2019-04-16 17:35:25
【问题描述】:
我需要在 Codename One 中实现本机代码来隐藏应用导航栏(应用下方的栏有返回和主页按钮)。我尝试在 Codename One 中使用本机接口来做到这一点。我的代码编译得很好,但是当我在设备上执行时,什么也没有发生。这是我的原生实现代码:
public class NavigationBarImpl {
public void masquerNavigationBar() {
// com.codename1.impl.android.AndroidNativeUtil.getActivity().runOnUiThread(new Runnable() {
// public void run() {
android.view.View decorView=com.codename1.impl.android.AndroidNativeUtil.getActivity().getWindow().getDecorView();
int uiOptions=android.view.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION|android.view.View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
// }
// });
}
public boolean isSupported() {
return false;
}
}
在我的主类中,我这样调用函数:
Button b=new Button("Masquer Navigation Bar");
b.addActionListener(evt->{
NavigationBar nBar=(NavigationBar)NativeLookup.create(NavigationBar.class);
if(nBar==null) {
throw new RuntimeException("Cette fonctionnalité n'est pas ENCORE supportée sur cette plateforme");
}
if(!nBar.isSupported() ){
throw new RuntimeException("Cette fonctionnalité n'est pas supportée sur cette plateforme");
}
nBar.masquerNavigationBar();
});
首先,我尝试将代码放入本机 EDT。它不起作用。如果不将其放入本机 EDT,它也不起作用。我没有错误,它编译得很好。我究竟做错了什么?谢谢!
【问题讨论】:
标签: codenameone