1
我试图在我的全屏Android应用程序中隐藏导航栏,如this document所述。这可以工作,但仅限于纵向(*)。如果应用旋转到风景,则OnSystemUiVisibilityChangeListener
停止发射。如果应用程序然后旋转回肖像,OnSystemUiVisibilityChangeListener
再次开始触发。我试图从onCreate()
和onResume()
调用此代码,效果是一样的。Android OnSystemUiVisibilityChangeListener仅在肖像中触发
final View decor=getWindow().getDecorView();
decor.setOnSystemUiVisibilityChangeListener (new View.OnSystemUiVisibilityChangeListener() {
public void onSystemUiVisibilityChange(int visibility) {
android.util.Log.d("d", "onSystemUiVisibilityChange");
new Handler().postDelayed(new Runnable() {
public void run(){
decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
}
}, 1500);
}
});
decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
(*),它可以在任何方向的应用程序在开始 - 如果应用在景观开始,听者只大火景观,如果应用在人像开始,听者只能以横向火灾。
这是在运行4.4.4的物理电话;在运行4.0的模拟器上,上面的代码正常工作。 – iter 2014-10-01 20:45:42