1. 程式人生 > >viewpager+Fragment實現簡單滑動切換效果

viewpager+Fragment實現簡單滑動切換效果

實現的是最簡單的viewpager+fragment進行的操作,當然你也可以實現像百度新聞那種聯動的的效果,加上一個展示分類的控制元件,叫什麼我忘了。。。。
先來看看效果
這裡寫圖片描述

就是一個最基礎的形式。

下面是程式碼:
首先在佈局中進行viewpager控制元件的引入:

<android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/viewpager"
> </android.support.v4.view.ViewPager>

然後建立好你的fragment物件,這裡由於是測試,所以簡單建立了一個Fragment的樣式:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height
="match_parent">
<ListView android:layout_width="match_parent" android:background="#ffee00" android:id="@+id/listview1" android:layout_height="match_parent"> </ListView> </LinearLayout>

在fragment上載入佈局:

package app.frag_viewpagerdemo;

import
android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ListView; /** * Created by Administrator on 2015/8/14 0014. */ public class FragmentOne extends Fragment { private ListView listView; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view=inflater.inflate(R.layout.view1,null); listView= (ListView) view.findViewById(R.id.listview1); ArrayAdapter<String> arrayAdapter=new ArrayAdapter<String>(getActivity(),android.R.layout.simple_expandable_list_item_1); for (int i=0;i<30;i++) { arrayAdapter.add("Fragment1"+i); } listView.setAdapter(arrayAdapter); return view; } }

然後進行viewpager的pageadapter的適配

注意:這裡繼承FragmentPageAdapter進行配置,比較方便,當然你也可以繼承PageAdapter寫。

package app.frag_viewpagerdemo;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.view.View;

import java.util.List;


/**
 * Created by Administrator on 2015/8/14 0014.
 */
public class MyPageAdapter extends FragmentPagerAdapter {
    private List<Fragment> fragmentList;

    public MyPageAdapter(FragmentManager fm,List<Fragment> fragmentList) {
        super(fm);
        this.fragmentList=fragmentList;
    }

    //得到Item,即所對應的fragment
    @Override
    public Fragment getItem(int position) {
        return fragmentList.get(position);
    }

    @Override
    public int getCount() {
        return fragmentList.size();
    }
}

Activity程式碼:

public class MainActivity extends AppCompatActivity {
    private ViewPager viewPager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        viewPager= (ViewPager) findViewById(R.id.viewpager);
        FragmentManager fm=getSupportFragmentManager();
        initData();
        MyPageAdapter myPageAdapter=new MyPageAdapter(fm,fragments);
        viewPager.setAdapter(myPageAdapter);
        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {

            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });
    }

    private List<Fragment> fragments;
    private void initData() {
        fragments=new ArrayList<>();
        fragments.add(new FragmentOne());
        fragments.add(new FragmentTwo());


    }


}

你可以在

 @Override
            public void onPageSelected(int position) {

            }

中進行當viewpager滑動變化時進行相關的操作,比如標題的變化等。

相關推薦

viewpager+Fragment實現簡單滑動切換效果

實現的是最簡單的viewpager+fragment進行的操作,當然你也可以實現像百度新聞那種聯動的的效果,加上一個展示分類的控制元件,叫什麼我忘了。。。。 先來看看效果 就是一個最基礎的形式。 下面是程式碼: 首先在佈局中進行viewpager控制

使用ViewPager+GridView實現橫向滑動效果(二)

            現在正是開始使用ViewPager+GridView方法實現橫向滑動效果;                                       上面就是實現的效果,當然用手去滑動,是可以進行橫向滑動,到時候有興趣的可以把例子程式碼部署

BottomNavigationView + ViewPager + Fragment 實現左右滑動和下方導航欄

轉載請註明出處:http://blog.csdn.net/htwhtw123/article/details/78441431 比較簡單的用BottomNavigationView 、 ViewPager 、 Fragment 實現下方導航欄與上方可翻頁頁面,

viewpager + fragment實現滑動切換效果

先上一張效果圖(非動圖,但是可以實現滑動切換,點選下方按鈕,也可以進行切換): MainActivity之中的程式碼 public class Main2Activity extends AppCompatActivity implements View.OnClickListener{

TabLayout+ViewPager+Fragment實現滑動效果

實現的效果圖如下: 一、頁面佈局檔案  1. 主頁面tab_main.xml,程式碼如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://sc

Android Studio 使用ViewPager + Fragment實現滑動選單Tab效果 --簡易版

描述:         之前有做過一個記賬本APP,拿來練手的,做的很簡單,是用Eclipse開發的;         最近想把這個APP重新完善一下,添加了一些新的功能,並選用Android Studio來開發;         APP已經完善了一部分,現在就想把已經做好的功能整理一下,記錄下來。 效果圖

Viewpager+Fragment實現滑動,點選滑動效果

佈局頁面 佈局有很多種方式,為了美觀,這裡我們就用RadioGroup實現 <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_widt

結合Tab,ViewPagerFragment實現簡單分頁滑動

在APP設計當中,使用ViewPager和Fragment來實現分頁滑動並不少見,該設計可以利用少量的空間來實現多內容的展示。效果圖如下: 以下是實現該功能的程式碼: MainActivity public class MainActivity e

Android Studio使用ViewPager+Fragment實現仿微信滑動切換介面

前言 微信的滑動切換獲得大家一致好評,在我們開發的過程中我們也經常模仿微信的導航效果。 首先看下效果圖 效果還算不錯,可以滑動切換和點選切換,微信介面用listview展示資料,通訊錄介面用的recyclerview展示資料,在接下來就帶著大家一一

安卓開發:viewpager + fragment 實現滑動切換

時間緊迫 長話短說 以後再補上 佈局檔案、 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.co

Android 實現多頁介面左右滑動切換效果之入門+進階 (ViewPager+PagerAdapter)

前一篇已經簡單介紹了ViewPager實現介面左右滑動的簡單實現方法。可以該方法實現方式雖說簡單,但是存在很大的問題——介面雖然隨左右滑動而切換了,但是實際所在的操作類還同一個(即在同一個Activity中),這一問題將導致程式的邏輯變得複雜時,介面控制元件變多時該Activity中實現的程式碼迅速的增加,最

ViewPager + Fragment關閉滑動切換效果

ViewPager + Fragment 做底部導航是經常用到的一種方式。自帶滑動切換和點選切換 但是如果老闆有一天不想要滑動切換了。或者因為其他原因(與內部的滑動切換衝突了,且衝突不好處理)。那麼怎麼關閉ViewPager的滑動切換效果呢 其實很簡單。重新ViewPag

ViewPager+Fragment 實現滑動頁面的效果

佈局檔案如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

Android:使用ViewPager實現左右滑動切換圖片 (簡單版)

ViewPager,它是google SDk中自帶的一個附加包的一個類, 可以使檢視滑動。 步驟: 1、引入android-support-v4.jar包,在主佈局里加入 <android.support.v4.view.ViewPager android

Flexslider插件實現圖片輪播、文字圖片相結合滑動切換效果

remove 12px body 類型 ons art cal 選項 csharp 插件下載:   點擊下載 密碼: fbeg Flexslider具有以下特性: 支持滑動和淡入淡出效果。 支持水平、垂直方向滑動。 支持鍵盤方向鍵控制。 支持觸控滑動。 支

ViewPager+Fragment支援導航滑動以及點選切換,觸發替換某個tab對應的fragment

每天積累一點點,時間久了,你就是大牛了     最近專案中要改造首頁導航欄,框架是用ViewPager+Fragment做的。導航欄中有一項fragment不固定,進入首頁前如果伺服器資料訪問到了並且傳進來了就會指明要展示的fragment。如果沒有訪問

ViewPager 滑動切換效果·

    ViewPager是一個允許頁面左右滑動的佈局管理器,不同的頁面可以有不同資料。我們可以通過實現ViewPager.PageTransformer介面來自定義滑動切換效果。        我們需重寫transformPage方法,這個方法有2個引數。第一個引數是

TabLayout、ViewPagerfragment實現滑動的頂部選單

首先看下效果 第一步:主佈局 <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_co

原生JS實現移動端模組的左右滑動切換效果,基於vue、stylus

原生JS實現移動端模組的左右滑動動畫效果,基於vue、stylus 大概實現方案: 手指touch螢幕的整個過程,會派發touchstart、touchmove、touchend三個事件,對這三個事件設定相應函式,通過移動過程中位置的變化計算出偏移值,進行對應的設定。 注:

ViewPager + Fragment實現滑動標籤頁

ViewPager 結合Fragment實現一個Activity裡包含多個可滑動的標籤頁,每個標籤頁可以有獨立的佈局及響應。 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <Linear