ViewPager使用方法及子View的獲取

      網友投稿 954 2025-04-01

      public class ViewPager_2Activity extends Activity


      {

      private List listViews;

      private ViewPager viewPager;

      /** Called when the activity is first created. */

      @Override

      public void onCreate(Bundle savedInstanceState)

      {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.main);

      listViews = new ArrayList();

      listViews.add(View.inflate(getApplicationContext(), R.layout.layout1,

      null));

      listViews.add(View.inflate(getApplicationContext(), R.layout.layout2,

      null));

      listViews.add(View.inflate(getApplicationContext(), R.layout.layout3,

      null));

      viewPager = (ViewPager) findViewById(R.id.v_Pager);

      viewPager.setAdapter(new MyPagerAdapter(listViews));

      viewPager.setCurrentItem(0);

      View view = listViews.get(2);

      TextView textView = (TextView) view.findViewById(R.id.text_3);

      textView.setText("10");

      Button button = (Button) view.findViewById(R.id.button_3);

      button.setOnClickListener(new OnClickListener()

      {

      public void onClick(View v)

      {

      // TODO Auto-generated method stub

      Toast.makeText(getApplicationContext(), "你點擊了按鈕",

      Toast.LENGTH_SHORT).show();

      }

      });

      }

      private class MyPagerAdapter extends PagerAdapter

      {

      private List mListView;

      private MyPagerAdapter(List list)

      {

      // TODO Auto-generated method stub

      this.mListView = list;

      }

      @Override

      /**這個方法,是從ViewGroup中移出當前View**/

      public void destroyItem(View container, int position, Object object)

      {

      // TODO Auto-generated method stub

      ((ViewGroup) container ).removeView(mListView.get(position));

      }

      @Override

      public void finishUpdate(View view)

      {

      // TODO Auto-generated method stub

      }

      @Override

      /**這個方法,是獲取當前窗體界面數**/

      public int getCount()

      {

      // TODO Auto-generated method stub

      return mListView.size();

      }

      @Override

      /**這個方法,return一個對象,這個對象表明了PagerAdapter適配器選擇哪個對象*放在當前的ViewPager中**/

      public Object instantiateItem(View container, int position)

      {

      // TODO Auto-generated method stub

      ((ViewGroup) container).addView(mListView.get(position), 0);

      return mListView.get(position);

      }

      @Override

      /**這個方法,在幫助文檔中原文是could be implemented as return view == object,*也就是用于判斷是否由對象生成界面**/

      public boolean isViewFromObject(View view, Object object)

      {

      // TODO Auto-generated method stub

      return view == (object);

      }

      @Override

      public void restoreState(Parcelable state, ClassLoader loader)

      {

      // TODO Auto-generated method stub

      }

      @Override

      public Parcelable saveState()

      {

      // TODO Auto-generated method stub

      return null;

      }

      @Override

      public void startUpdate(View v)

      {

      // TODO Auto-generated method stub

      }

      }

      }

      android:layout_width="fill_parent"

      android:layout_height="fill_parent"

      android:orientation="vertical" >

      android:id="@+id/v_Pager"

      android:layout_width="fill_parent"

      android:layout_height="fill_parent" >

      android:layout_width="fill_parent"

      android:layout_height="fill_parent"

      android:orientation="vertical" >

      ViewPager使用方法及子View的獲取

      android:layout_width="wrap_content"

      android:layout_height="wrap_content"

      android:text="15"

      android:textSize="150sp"

      android:layout_gravity="center_horizontal"/>

      android:id="@+id/button_1"

      android:layout_width="fill_parent"

      android:layout_height="wrap_content"

      android:text="第1頁面"

      android:textSize="30sp"

      >

      android:layout_width="fill_parent"

      android:layout_height="fill_parent"

      android:orientation="vertical" >

      android:layout_width="wrap_content"

      android:layout_height="wrap_content"

      android:text="25"

      android:textSize="150sp"

      android:layout_gravity="center_horizontal"/>

      android:id="@+id/button_2"

      android:layout_width="fill_parent"

      android:layout_height="wrap_content"

      android:text="第2頁面"

      android:textSize="30sp"

      >

      android:layout_width="fill_parent"

      android:layout_height="fill_parent"

      android:orientation="vertical" >

      android:layout_width="wrap_content"

      android:layout_height="wrap_content"

      android:text="35"

      android:textSize="150sp"

      android:layout_gravity="center_horizontal"/>

      android:id="@+id/button_3"

      android:layout_width="fill_parent"

      android:layout_height="wrap_content"

      android:text="第3頁面"

      android:textSize="30sp"

      >

      效果圖:

      ViewPager頁面拖動到最前或最后的時候回彈效果

      看到一哥們用ViewPager寫的左右滑動的屏幕,像UC瀏覽器那樣,連接:

      http://www.eoeandroid.com/thread-92508-1-1.html

      但是當滑到最左端或者最右端就不能滑動了,感覺用戶體驗不如UC的,所以就試著弄了下

      繼承ViewPager類以后,在左面和右面各增加個空View,然后在onPageSelected方法中

      @Override

      public void onPageSelected(int arg0)

      {

      // TODO Auto-generated method stub

      System.out.println("onPageSelected = " + arg0);

      if (arg0 == 0)

      mViewPaper.setCurrentItem(arg0 + 1);

      else if (arg0 == mViewList.size() - 1)

      mViewPaper.setCurrentItem(arg0 - 1);

      }

      onPageSelected(int arg0){

      }

      arg0是表示你當前選中的頁面,這事件是在你頁面跳轉完畢的時候調用的。

      public void onPageScrollStateChanged(int arg0) {

      // TODO Auto-generated method stub

      } arg0 ==1的時候表示正在滑動,arg0==2的時候表示滑動完畢了,arg0==0的時候表示什么都沒做,就是停在那。

      public void onPageScrolled(int arg0, float arg1, int arg2) {

      // TODO Auto-generated method stub

      }表示在前一個頁面滑動到后一個頁面的時候,在前一個頁面滑動前調用的方法。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:WPS表格2013如何通過條件公式查找雙重重復項(Wps表格查找重復項)
      下一篇:怎么讓插入的對象在幻燈片中間顯示(可以向幻燈片中添加的對象有哪些)
      相關文章
      亚洲熟女综合一区二区三区| 最新亚洲春色Av无码专区| 77777亚洲午夜久久多喷| 亚洲日本va午夜中文字幕一区| 国产亚洲精品va在线| 中文字幕日韩亚洲| 久久亚洲精品无码播放| 亚洲AV无码一区二区三区国产 | 亚洲成在人线aⅴ免费毛片| 亚洲精品国产av成拍色拍| 亚洲欧洲精品成人久久曰| 亚洲欧美日韩综合俺去了| 亚洲色少妇熟女11p| 亚洲欧美日韩国产精品一区| 亚洲精品无码中文久久字幕| 色欲色欲天天天www亚洲伊| 亚洲a∨无码精品色午夜| 天堂亚洲免费视频| 亚洲?V乱码久久精品蜜桃 | 区三区激情福利综合中文字幕在线一区亚洲视频1 | 亚洲成人午夜在线| 亚洲视频精品在线| 亚洲综合男人的天堂色婷婷| 亚洲综合一区二区精品久久| 亚洲第一页在线视频| 亚洲乱码卡一卡二卡三| 2020国产精品亚洲综合网| 91亚洲精品自在在线观看| 亚洲综合校园春色| 亚洲人成色99999在线观看| 国产精品亚洲一区二区三区久久| 亚洲人成国产精品无码| 亚洲小说区图片区另类春色| 久久精品国产亚洲一区二区| 久久精品亚洲日本佐佐木明希| 精品亚洲成a人片在线观看少妇| 亚洲精品一区二区三区四区乱码 | 久久久久亚洲av成人无码电影| 亚洲精品夜夜夜妓女网| 亚洲人成依人成综合网| 亚洲人成在线精品|