1

素敵なViewPagerを作成しました。ユーザーが画面をダブルタップするとすぐに、下部のメニューバーが表示/非表示になります。これはとても簡単だと思いましたが、たくさんのフォーラムを読んで、多くの解決策を試した後、私はそれを達成できないことを認めなければなりません。:-(

誰かが私にそのための完全なコードソリューションを提供することができますか?

前もって感謝します。

これが私のベースコードです:

public class ActivityMain extends FragmentActivity 
{
    static final int NUM_PAGES = 3;
    CustomFragmentStatePagerAdapter fragment_pager_adapter;
    ViewPager view_pager;

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

        setContentView(R.layout.activity_main);

        fragment_pager_adapter = new CustomFragmentStatePagerAdapter(getSupportFragmentManager());
        view_pager = (ViewPager) findViewById(R.id.view_pager);
        view_pager.setAdapter(fragment_pager_adapter);
    }

    public static class CustomFragmentStatePagerAdapter extends FragmentStatePagerAdapter
    {
    public CustomFragmentStatePagerAdapter(FragmentManager fm)
    {
            super(fm);
        }

        @Override
        public int getCount()
        {
            return NUM_PAGES;
        }

        @Override
        public Fragment getItem(int position)
        {
        Fragment fragment = null;

            switch (position)
            {
            case 0:
                fragment = new Fragment0();
                break;

            case 1:
                fragment = new Fragment1();
                break;

            case 2:
                fragment = new Fragment2();
                break;
            }

            return fragment;
        }
    }
}
4

2 に答える 2

1

私は最終的に、GestureDetectorをメインのアクティビティに配置するのではなく、ViewPagerのすべてのフラグメント内に配置することで問題を解決しました。

ViewPager + GestureDetector =悪いミックスのようです!

于 2012-07-10T15:47:09.797 に答える
0

これがあなたが探しているものだと思います。

これを例として使用し、 GestureDetector.SimpleOnGestureListenerのonDoubleTapをオーバーライドする場合。

これが完全なコード例ではないことは知っていますが、さらに役立つ可能性があります。

于 2012-07-09T15:17:57.427 に答える