ViewPager并在下一页中保留相同状态的淡化按钮

时间:2015-02-19 23:19:28

标签: android android-viewpager

我正在创建幻灯片,其中显示了一些按钮。当用户点击屏幕时,按钮逐渐消失。我使用状态变量来确定按钮应处于什么状态。但是,似乎下一页被创建和缓存。因此,当我淡出按钮并移动到下一页时,按钮是可见的,但在以下页面中它们不可见(因为渲染是在我设置状态后发生的)。请参阅下面的扩展PagerAdapter类的代码。

    final Animation topSlideIn = AnimationUtils.loadAnimation(context, R.anim.top_slide_in);
    final Animation topSlideOut = AnimationUtils.loadAnimation(context, R.anim.top_slide_out);

    if (isMetaVisible) {
        btnDelete.setVisibility(View.VISIBLE);
        btnClose.setVisibility(View.VISIBLE);
    } else {
        btnDelete.setVisibility(View.GONE);
        btnClose.setVisibility(View.GONE);
    }

    topSlideOut.setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) { }
        @Override
        public void onAnimationEnd(Animation animation) {
            btnDelete.setVisibility(View.GONE);
            btnClose.setVisibility(View.GONE);
        }
        @Override
        public void onAnimationRepeat(Animation animation) { }
    });
    topSlideIn.setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) { }
        @Override
        public void onAnimationEnd(Animation animation) {
            btnDelete.setVisibility(View.VISIBLE);
            btnClose.setVisibility(View.VISIBLE);
        }
        @Override
        public void onAnimationRepeat(Animation animation) { }
    });

    imgDisplay.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (isMetaVisible) {
                isMetaVisible = false;
                btnDelete.startAnimation(topSlideOut);
                btnClose.startAnimation(topSlideOut);
            } else {
                isMetaVisible = true;
                btnDelete.startAnimation(topSlideIn);
                btnClose.startAnimation(topSlideIn);
            }
        }
    });

在相关的说明中,由于按钮是每页按钮,当我滑动按钮时也会移动。是否有一种更简单的方法可以实现这一点,即按钮在ViewPager之外,即使在我滑动时也是静态的?

0 个答案:

没有答案