当viewpager中的片段对用户可见时显示工具提示

时间:2016-01-29 21:20:48

标签: android android-fragments android-viewpager

我需要在片段可见时(对用户)执行一个方法。此方法用于显示片段内的工具提示。

我有1个活动在布局底部有viewpager和菜单栏来导航片段。而且我也禁用了对viewpager的滑动。

当片段可见或活动时,我需要调用showTooltip()。我已经尝试过简历和setUserVisibleHint()但仍然无法正常工作。当viewpager移动到可见页面时,不会显示工具提示。

public void showTooltip(){
    Tooltip.make(getActivity(),
    new Tooltip.Builder(101)
    .anchor(gridSearch, Tooltip.Gravity.CENTER)
    .closePolicy(new Tooltip.ClosePolicy()
    .insidePolicy(true, false)
    .outsidePolicy(true, false), 3000)
    .activateDelay(1500)
    .showDelay(300)
    .text("Click to see all videos.")
    .maxWidth(500)
    .withArrow(true)
    .withOverlay(true)
    .floatingAnimation(Tooltip.AnimationBuilder.DEFAULT)
    .build()
     ).show();
}

1 个答案:

答案 0 :(得分:0)

要注意到片段显示您可以使用具有回调的ViewPager.OnPageChangeListener,当您切换ViewPager页面时调用该回调:

 mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
    @Override
    public void onPageScrolled(int i, float v, int i2) {

    }

    @Override
    public void onPageSelected(int i) {
        //here you can show yours tooltip
    }

    @Override
    public void onPageScrollStateChanged(int i) {

    }
});