#codenameone
#codenameone
Вопрос:
Мне нужно реализовать собственный код в 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, он тоже не работает. У меня нет ошибок, и он хорошо компилируется. Что я делаю не так? Спасибо!
Ответ №1:
Трудно сказать без отладки, и вы не включили код, в котором вы создали собственный интерфейс, но это выглядит как ошибка:
public boolean isSupported() {
return false;
}
Он должен возвращать true .
Комментарии:
1. Привет, Шай. «Return true» решил проблему. Спасибо!!