ViewPager實現左右切換

佈局文件,指示器與屏幕顯示內容
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >   
    <com.cultraview.viewpager.ViewPagerIdicator 
        android:id="@+id/id_indicator"
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:background="@drawable/black"
        android:orientation="horizontal"
        >
    <TextView
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:text="短信" 
        android:textSize="16sp"
        android:background="#CCFFFFFF" 
        android:gravity="center"       
        />
    <TextView
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:text="收藏" 
        android:textSize="16sp"
        android:background="#CCFFFFFF" 
         android:gravity="center"        
        />
    <TextView
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:text="推薦" 
        android:textSize="16sp"
         android:gravity="center" 
        android:background="#CCFFFFFF"/>
    </com.cultraview.viewpager.ViewPagerIdicator>
        <android.support.v4.view.ViewPager
        android:layout_height="0dp"
        android:layout_width="match_parent"
        android:layout_weight="1"
        android:id="@+id/id_viewpager">
    </android.support.v4.view.ViewPager>
</LinearLayout>
package com.cultraview.viewpager;


import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class VpSimpleFragment extends Fragment {

    private String mTitle;
    public static final String BUNDLE_TITLE = "title";
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        Bundle bunble = getArguments();
        if(bunble != null){
            mTitle = bunble.getString(BUNDLE_TITLE);
        }   
        TextView tv = new TextView(getActivity());
        tv.setText(mTitle);
        tv.setGravity(Gravity.CENTER);
        return tv;

    }   

    public static VpSimpleFragment newInstance(String title){//fragrement 需要傳入參數的時候需要newInstance

        Bundle bunble = new Bundle();  //Bundle 是一個KER - Value 對
        bunble.putString(BUNDLE_TITLE, title);

        VpSimpleFragment fragment = new VpSimpleFragment();
        fragment.setArguments(bunble);   //setArguement 保留參數
        return fragment;

    }
}
package com.example.viewpagertest;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.cultraview.viewpager.ViewPagerIdicator;
import com.cultraview.viewpager.VpSimpleFragment;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.Window;

public class MainActivity extends FragmentActivity {

    private ViewPager mViewPager;
    private ViewPagerIdicator mIdicator;

    private List<String> mtitle = Arrays.asList("短信","收藏","推薦");

    private List<VpSimpleFragment> mContent = new ArrayList<VpSimpleFragment>();
    private FragmentPagerAdapter mAdpater;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);

        initViews();

        initDatas();

        mViewPager.setAdapter(mAdpater);//適配器
    }

    private void initDatas() {

        for(String title :mtitle){

            VpSimpleFragment fragment = VpSimpleFragment.newInstance(title);
            mContent.add(fragment);//顯示內容
        }

        mAdpater = new FragmentPagerAdapter(getSupportFragmentManager()) {

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

            @Override
            public Fragment getItem(int position) {

                return   mContent.get(position);
            }
        };
    }       

    private void initViews() {

    mViewPager = (ViewPager) findViewById(R.id.id_viewpager);
    mIdicator = (ViewPagerIdicator) findViewById(R.id.id_indicator);

    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章