csdn下载地址:http://download.csdn.net/detail/yuanfen821/5815073
工程展示:
package net.xinhua.activity;
import net.xinhuamm.widget.TouchViewPager;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.ViewConfiguration;
import android.widget.Toast;
import com.viewpagerindicator.TabPageIndicator;
/**
* @类名:ViewPagerListViewActivity
* @描述:TODO(左右滑动)
* @作者:zhaohao
* @时间 2013-7-1 上午11:23:33
*/
public class ViewPagerListViewActivity extends FragmentActivity {
private static final String[] CONTENT = new String[] { "头条娱乐", "汽车世界", "风景", "动物世界","美图","图文展示",
"各地风俗","美食天下","军事","一周军事看点"};
private int touchSlop;
public static TouchViewPager pager =null;
FragmentPagerAdapter adapter=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_tabs);
adapter = new GoogleMusicAdapter(getSupportFragmentManager());
pager = (TouchViewPager)findViewById(R.id.pager);
pager.setAdapter(adapter);
TabPageIndicator indicator = (TabPageIndicator)findViewById(R.id.indicator);
indicator.setViewPager(pager);
onTouch();
}
class GoogleMusicAdapter extends FragmentPagerAdapter {
public GoogleMusicAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
if("美图".equals(CONTENT[position])){
return GridContentActivity.newInstance(CONTENT[position]);
}else{
return ContentActivity.newInstance(CONTENT[position],true);
}
}
@Override
public CharSequence getPageTitle(int position) {
return CONTENT[position % CONTENT.length];
}
@Override
public int getCount() {
return CONTENT.length;
}
}
public void onTouch()
{
touchSlop = ViewConfiguration.get(ViewPagerListViewActivity.this).getScaledTouchSlop();
pager.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
switch(event.getAction())
{
case MotionEvent.ACTION_UP:
float downX = pager.getDownX();
float lastX = event.getX();
float disX = Math.abs(lastX-downX);
if(touchSlop<disX && lastX >downX && pager.getCurrentItem()==0 )
{
Toast.makeText(ViewPagerListViewActivity.this, "左滑关闭", 3).show();
}else if(touchSlop<disX && lastX <downX && pager.getCurrentItem()==adapter.getCount()-1){
Toast.makeText(ViewPagerListViewActivity.this, "右滑动进入评论", 3).show();
}
break;
}
return false;
}
});
}
public static void launcher(Activity activity){
Intent intent=new Intent(activity, ViewPagerListViewActivity.class);
activity.startActivity(intent);
}
}