0
    // Set up the user interaction to manually show or hide the system UI.
    contentView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (TOGGLE_ON_CLICK) {
                mSystemUiHider.toggle();
                ((ZooView)contentView).editmode = mSystemUiHider.isVisible();
            } else {
                mSystemUiHider.show();
            }
        }
    });

これは私のコードです。カスタム ビュー (ZooView) の変数を更新して、ビューがどのモードであるかを確認しようとしています (editmode は、主に OnDraw メソッドを変更するカスタム変数です)。ビューを無効にしようとしたときにクリックすると切り替わりますが、そうではありません.logcatは、この機能に定期的に到達していないことを示しているためです. (散発的にのみ)

何か案は?

4

1 に答える 1

0

mSystemUiHider .setOnVisibilityChangeListener(new SystemUiHider.OnVisibilityChangeListener(){//キャッシュされた値。intmControlsHeight、mControlsWidth; int mShortAnimTime;

                @Override
                @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)
                public void onVisibilityChange(boolean visible) {

                    ((ZooView)contentView).editmode = visible;

ここに変更を加えると、完全に修正されました。:)

于 2013-02-07T12:16:05.197 に答える