タブレット用プログラムの書き止め

android OS & iPadOS の記録。

fragment を開く。

2021-07-18 20:33:40 | Android studio 日記

 フラグメントを開いてアイコンを並べる。フリー素材に適当なものがないので自前で用意する。デザインは真似ているのにプログラム以上に時間がかかる。

 とりあえず、開く部分と閉じる部分。

【mainActivity.java】

    private boolean doubleTapFlag = false;
    private boolean fragmentFlag = false;

    class MyGestureListener extends GestureDetector.SimpleOnGestureListener {

        @Override
        public boolean onSingleTapConfirmed(MotionEvent e) {

            if (!doubleTapFlag && !fragmentFlag ) {
                if ( nextTargetIndexNo( e ) ) {
                    setNextImage();
                    mViewSwitcher.showNext();
                } else {
                    setNextImage();
                    mViewSwitcher.showPrevious();
                }
            }
            doubleTapFlag = false;

            // 付け焼き刃、フラグメントが閉じたら、シングルタップの処理をさせる
            List<Fragment> list = getSupportFragmentManager().getFragments();
            if ( list.isEmpty() ) {
                fragmentFlag = false;
            }

            return false;
        }

        @Override
        public boolean onDoubleTap(MotionEvent e) {
            doubleTapFlag = true;
            fragmentFlag = true;

            FragmentManager fm = getSupportFragmentManager();
            FragmentTransaction ft = fm.beginTransaction();
            ft.replace( R.id.insert_layout ,new FirstFragment() ); // フラグメントをセット
            ft.addToBackStack("first");
            ft.commit(); // 実行

            return true;
        }
    }

 

【FirstFragment.java】

省略

    public void finish() {
        FragmentManager fm = getFragmentManager();
        assert fm != null;
        FragmentTransaction ft = fm.beginTransaction();
        ft.remove(FirstFragment.this).commit();
    }

任意の場所のクリックに finish(); をセットする。

 

 

 意外と並べたときにバランスが悪い。また、透過部分を作る時、Windows10のペイントは使いづらい。

 

 


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする