仿网易主界面左右滑动以及顶部大图,下拉刷新.上拉加载更多等功能集成控件

来源:互联网 发布:新手护肤步骤知乎 编辑:程序博客网 时间:2024/05/01 13:00

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);
    }

}