天天看點

滑動切換頁面

1.首先需要在activity界面中添加一個viewPaper.

滑動切換頁面

2.viewpaper需要搭配一個擴充卡才能使用,擴充卡可以決定建立多少各view,傳回目前要顯示的view。有多種類型的Adapter,這裡使用的是FragmentPaperAdapter。

public class VpAdapter extends FragmentPagerAdapter {
    private ArrayList<ImageView> imageViews;
    public FragmentManager m_fm;
    public VpAdapter(FragmentManager fm) {
        super(fm);
        m_fm=fm;
        this.imageViews = imageViews;
    }
    /*擷取目前需要顯示的view*/
    @Override
    public Fragment getItem(int position) {
        Fragment testFragment=null;
        switch (position)
        {
            case 0:
                return new BlankFragment();
            case 1:
                return new BlankFragment2();
            case 2:
                return new BlankFragment3();
        }
        return testFragment;
    }
    /**
     * 擷取目前要顯示對象的數量
     */
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return 3;
    }

}      

3.建立Fragment并且為每個Fragment建立UI。

    這裡注意建立的時候是否需要Interface callback。

滑動切換頁面

    如果包含了Interface callback,那麼需要在Activity中實作該接口,注意這裡的Activity繼承的是FragmentActivity,因為Adapter需要GetSupportFragmentMannager傳回的管理器,隻有繼承這個類才能使用該接口。

public class MainActivity extends FragmentActivity implements BlankFragment.OnFragmentInteractionListener,
        BlankFragment2.OnFragmentInteractionListener2,BlankFragment3.OnFragmentInteractionListener3 {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ViewPager viewPager=findViewById(R.id.id_viewpaper);
        viewPager.setAdapter(new VpAdapter(getSupportFragmentManager()));
    }

    public void sendMessage(View view)
    {

    }

    @Override
    public void onFragmentInteraction(Uri uri) {

    }

    @Override
    public void onFragmentInteraction2(Uri uri) {

    }
    @Override
    public void onFragmentInteraction3(Uri uri) {

    }
}      

    建立UI

滑動切換頁面

4.為該Activity設定一個Style,因為我目前要做的是開機啟動頁面,是以需要全屏顯示圖像。

    添加一個全屏的Style屬性:

滑動切換頁面

    應用屬性:

滑動切換頁面

5.傳回fragment個數,在剛剛實作的Adapter中,有個getCount函數,在這裡傳回個數即可。

/**
 * 擷取目前要顯示對象的數量
 */
@Override
public int getCount() {
    // TODO Auto-generated method stub
    return 3;
}      

6.為每一個View建立單獨的Fragment.

/*擷取目前需要顯示的view*/
@Override
public Fragment getItem(int position) {
    Fragment testFragment=null;
    switch (position)
    {
        case 0:
            return new BlankFragment();
        case 1:
            return new BlankFragment2();
        case 2:
            return new BlankFragment3();
    }
    return testFragment;
}      

7.在Activity中應用Adapter.

public class MainActivity extends FragmentActivity implements BlankFragment.OnFragmentInteractionListener,
        BlankFragment2.OnFragmentInteractionListener2,BlankFragment3.OnFragmentInteractionListener3 {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ViewPager viewPager=findViewById(R.id.id_viewpaper);
        viewPager.setAdapter(new VpAdapter(getSupportFragmentManager()));
    }      

8.顯示效果。

滑動切換頁面