【发布时间】:2015-06-24 22:16:20
【问题描述】:
我在viewpager 中有一个动画。当它在viewpager 的任意位置接收到触摸事件时,它会出现和消失。
问题是我想禁用滑动手势本身的动画
代码如下:
public class PageActivity extends Activity {
public int pagenum;
CustomPagerAdapter mCustomPagerAdapter;
private Animation animUp, animUp2;
private Animation animDown, animDown2;
RelativeLayout ll, rr;
boolean visible = false, visible2 = false;
ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_page);
animUp = AnimationUtils.loadAnimation(this, R.anim.anim_up);
animDown = AnimationUtils.loadAnimation(this, R.anim.anim_down);
animUp2 = AnimationUtils.loadAnimation(this, R.anim.anim_up2);
animDown2 = AnimationUtils.loadAnimation(this, R.anim.anim_down2);
ll = (RelativeLayout) findViewById(R.id.slider);
ll.setVisibility(View.GONE);
rr = (RelativeLayout) findViewById(R.id.slider2);
rr.setVisibility(View.GONE);
Intent extra = this.getIntent();
pagenum = extra.getExtras().getInt("key");
mCustomPagerAdapter = new CustomPagerAdapter(this);
mViewPager.setAdapter(mCustomPagerAdapter);
mViewPager.setCurrentItem(pagenum);
}
@Override
public boolean dispatchTouchEvent( MotionEvent event){
if(event.getActionMasked()==MotionEvent.ACTION_UP) {
if (!visible && !visible2) {
ll.setVisibility(View.VISIBLE);
ll.startAnimation(animUp);
visible = true;
rr.setVisibility(View.VISIBLE);
rr.startAnimation(animDown2);
visible2 = true;
} else {
ll.startAnimation(animDown);
ll.setVisibility(View.GONE);
visible = false;
rr.setVisibility(View.GONE);
rr.startAnimation(animUp2);
visible2 = false;
}
}
return super.dispatchTouchEvent(event);
}
}
【问题讨论】:
标签: android android-viewpager viewpagerindicator