Android之ViewPager

來源:互聯網
上載者:User

標籤:

API文檔:

 

 

 

ViewPager的功能就是可以使視圖滑動(與ViewFlipper的自動滑動不同的是它要手動滑動),就像Lanucher左右滑動那樣。

所以我們可以用它來做一個app引導介面。

如下:

 

 

實現步驟:

1、主介面布局中建立VIewPager。

2、載入各個介面的View。

3、設定PagerAdapter.

注意:

當你實現一個PagerAdapter,你必須至少覆蓋以下方法:

  • instantiateItem(ViewGroup, int)
  • destroyItem(ViewGroup, int, Object)
  • getCount()
  • isViewFromObject(View, Object)

實現代碼:

MainActivity:

 

public class MainActivity extends Activity {private ViewPager mviewPager;private View view1, view2, view3;private List<View> viewList;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.viewpager);initView();PagerAdapter mpagerAdapter = new PagerAdapter() {            @Override          public boolean isViewFromObject(View arg0, Object arg1) {              return arg0 == arg1;          }          @Override          public int getCount() {              return viewList.size();          }          @Override          public void destroyItem(ViewGroup container, int position,                  Object object) {              container.removeView(viewList.get(position));          }          @Override          public int getItemPosition(Object object) {              return super.getItemPosition(object);          }                 @Override          public Object instantiateItem(ViewGroup container, int position) {              container.addView(viewList.get(position));                         return viewList.get(position);          }      };  mviewPager.setAdapter(mpagerAdapter);}void initView() {mviewPager = (ViewPager) findViewById(R.id.viewPager);viewList = new ArrayList<View>();LayoutInflater layoutInflate = getLayoutInflater().from(this);view1 = layoutInflate.inflate(R.layout.layout1, null);view2 = layoutInflate.inflate(R.layout.layout2, null);view3 = layoutInflate.inflate(R.layout.layout3, null);viewList.add(view1);viewList.add(view2);viewList.add(view3);pagerAdapter);}


2、主布局:main.xml

 

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <android.support.v4.view.ViewPager        android:id="@+id/viewPager"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_gravity="center" >                  </android.support.v4.view.ViewPager>  </LinearLayout>


3、各個被載入的子布局,這裡只給出一個,另外兩個布局代碼一樣只是名字不同。

 

 

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/layout1"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <ImageView        android:id="@+id/iamge"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:src="@drawable/a" /></LinearLayout>


上面是一個入門級的例子,接下來幾篇會講一些更加深入有技術性的例子。

 

Android之ViewPager

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.