cocos2dx屏幕適配-針對華爲部分機型虛擬按鍵

此爲始終顯示或始終隱藏虛擬按鍵的方案。

import android.annotation.SuppressLint;
import android.view.View;

public class AppActivity extends Cocos2dxActivity {

    @SuppressLint("NewApi")
    private void handleNavigationBar() {
        int uiFlags = View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;

        if (android.os.Build.VERSION.SDK_INT >= 19) {
            uiFlags |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
            // SYSTEM_UI_FLAG_IMMERSIVE_STICKY:
            // hide navigation bars - compatibility: building
            // API level is lower then 19, use magic
            // number directly for higher API target level
        } else {
            uiFlags |= View.SYSTEM_UI_FLAG_LOW_PROFILE;
        }

        getWindow().getDecorView().setSystemUiVisibility(uiFlags);

//      getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
//            @Override
//            public void onSystemUiVisibilityChange(int visibility) {
//              handleNavigationBar();
//            }
//        });

    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        handleNavigationBar();
        super.onCreate(savedInstanceState);
    }

    @Override
    public void onResume() {
        handleNavigationBar();
        super.onResume();
    }

    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        handleNavigationBar();
        super.onWindowFocusChanged(hasFocus);
    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章