Android viewpager屏幕向右或向左滑动?
如何知道用户在查看寻呼机中是向右还是向左滑动屏幕Android viewpager屏幕向右或向左滑动?,android,Android,如何知道用户在查看寻呼机中是向右还是向左滑动屏幕 indicator.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected (int page) { //page changed } @Override public void onPageScrolled (int arg0, float arg1, i
indicator.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected (int page)
{
//page changed
}
@Override
public void onPageScrolled (int arg0, float arg1, int arg2)
{
}
@Override
public void onPageScrollStateChanged (int arg0)
{
}
});
我使用了这个方法,我很确定onpagescrollstatechanged是告诉我们它是右还是左的,但是我们如何使用它呢 试试看:
@Override
public void onPageSelected(int arg0) {
if(lastPage>arg0)
{//User Move to left}
else(lastPage<arg0)
{//User Move to right}
lastPage=arg0
}
@覆盖
已选择页面上的公共无效(int arg0){
如果(最后一页>arg0)
{//用户向左移动}
else(lastPage将值单独保存在另一个变量中,并在PageScrollState上进行比较
OnPageChangeListener onPageChangeListener = new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
if(savePosition>arg0)
{
Toast.makeText(getApplicationContext(), "Swiped Right", Toast.LENGTH_SHORT).show();
}else
{
Toast.makeText(getApplicationContext(), "Swiped Left", Toast.LENGTH_SHORT).show();
}
savePosition = arg0;
}
};
这是我在查看页面的onPageScrolled()方法中的解决方案。OnPageChangeListener:
如果您想知道用户是实时向左还是向右滚动。您可以执行以下操作:
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
float tempPositionOffset = 0;
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if (position == 0) {
if (tempPositionOffset < positionOffset) {
Log.d("eric", "scrolling left ...");
} else {
Log.d("eric", "scrolling right ...");
}
tempPositionOffset = positionOffset;
Log.d("eric", "position " + position + "; " + " positionOffset " + positionOffset + "; " + " positionOffsetPixels " + positionOffsetPixels + ";");
}
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
mViewPager.addOnPageChangeListener(新的ViewPager.OnPageChangeListener(){
浮点tempPositionOffset=0;
@凌驾
已滚动页面上的公共无效(int-position、float-positionOffset、int-positionOffsetPixels){
如果(位置==0){
if(tempPositionOffset
它是活动中的全局int变量。