Android ViewPager實現翻頁步驟
滑動翻頁的效果挺炫的。實現效果主要有幾個步驟:
1、創建兩個布局文件,一個布局文件定義viewPager組件,如
<android.support.v4.view.ViewPager android:id="@+id/vp_articles" android:layout_width="match_parent" android:layout_height="wrap_content" > </android.support.v4.view.ViewPager >;
另外一個布局文件定義在viewPager中要展示的View,因為有點復雜,代碼就不貼了
2、創建一個activity管理viewPager,主要的java代碼有:
public class ActivityArticleTest extends BaseActivity { private ViewPager viewPager = null; //定義viewPager private LayoutInflater mInflater = null; //加載布局文件用 private ArrayList<View> viewsList = null; //用arraylist 存儲要展現的view protected void onCreate(Bundle arg0) { viewPager = (ViewPager) findViewById(R.id.vp_articles); mInflater = LayoutInflater.from(this); viewsList = new ArrayList<View>(); //作為一個例子 往viewList添加View for(int j =0 ; j<idslist.size();j++){ View view = mInflater.inflate(R.layout.activity_resumption_article, null); viewsList.add(view); //給viewPager添加適配器,也可繼承PagerAdapter viewPager.setAdapter(new PagerAdapter() { @Override public boolean isViewFromObject(View arg0, Object arg1) { // TODO Auto-generated method stub return arg0==arg1; } @Override public int getCount() { // TODO Auto-generated method stub return viewsList.size(); } @Override public int getItemPosition(Object object) { // TODO Auto-generated method stub return viewsList.indexOf(object); } //這個方法和下面這個方法慢重要的 @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(viewsList.get(position)); return viewsList.get(position); } @Override public void destroyItem(ViewGroup container, int position, Object object) { // TODO Auto-generated method stub container.removeView(viewsList.get(position)); } }); viewPager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int arg0) { //重新發起請求,更新所在view getDataFromRepreWeb(method, idslist.get(arg0)); } @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 } }); } }
模式簡單,重要的是和項目的業務結合
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!