隐藏导航栏时不会调用Android setOnClickListener

时间:2014-08-17 08:37:29

标签: android

我搜索得很长很难但没找到答案。

我使用RelativeLayout进行全屏活动,用于显示某些选项。当我创建活动时,我隐藏了选项栏和导航栏,并在我的活动中设置了setOnClickListener。

单击活动时,我想显示选项栏(如果隐藏)或再次隐藏选项栏和导航栏。

        contentView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (ACTION_BAR_HIDDEN) {
                actionBar.setVisibility(View.VISIBLE);
                ACTION_BAR_HIDDEN = false;
            } else {
                actionBar.setVisibility(View.GONE);
                ACTION_BAR_HIDDEN = true;
                int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN;
                contentView.setSystemUiVisibility(uiOptions);
            }
        }
    });

除非导航栏在我第一次单击显示导航栏的活动时隐藏,并且只有在第二次单击时才会调用我的setOnClickListener,否则一切都很有效。

如果导航栏被隐藏,是否可以拦截点击?

我可以发布更多代码,但我认为我的问题很清楚。

非常感谢。

1 个答案:

答案 0 :(得分:0)

实际上问题在于你的逻辑......

请试试这个

contentView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (ACTION_BAR_HIDDEN) {
                //COde for showing action bar
                //Code for showing navigation bar
                ACTION_BAR_HIDDEN = false;
            } 
            else {
                //COde for hiding action bar
                //Code for hiding navigation bar
                ACTION_BAR_HIDDEN = true;
            }
        }
    });