viewpager+fragment实现滑动效果
基本步骤:
1.生成fragment
2.将fragment对象写入ArrayList中
3.新建ViewPaper对象
4.在布局文件中加入ViewPaper标签
5.重写FragmentPagerAdapter
6.新建FragmentPagerAdapter对象,将 getSupportFragmentManager()和ArrayList对象传入
MainActivity.java
package com.whut.yc.myapplication.act;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import com.whut.yc.myapplication.R;
import com.whut.yc.myapplication.adapter.MyViewPagerAdapter;
import com.whut.yc.myapplication.fragment.Fragment01;
import com.whut.yc.myapplication.fragment.Fragment02;
import com.whut.yc.myapplication.fragment.Fragment03;
import com.whut.yc.myapplication.fragment.Fragment04;
import java.util.ArrayList;
public class MainActivity extends ActionBarActivity {
ViewPager viewPager=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViewPager();
}
public void initViewPager(){
viewPager=(ViewPager)findViewById(R.id.viewPager);
ArrayList<Fragment> fragmentList=new ArrayList<Fragment>();
Fragment01 fragment01=new Fragment01();
Fragment02 fragment02=new Fragment02();
Fragment03 fragment03=new Fragment03();
Fragment04 fragment04=new Fragment04();
fragmentList.add(fragment01);
fragmentList.add(fragment02);
fragmentList.add(fragment03);
fragmentList.add(fragment04);
MyViewPagerAdapter adapter=new MyViewPagerAdapter(getSupportFragmentManager(),fragmentList);
viewPager.setAdapter(adapter);
}
}
MyViewPaperAdapter.java
package com.whut.yc.myapplication.act;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import com.whut.yc.myapplication.R;
import com.whut.yc.myapplication.adapter.MyViewPagerAdapter;
import com.whut.yc.myapplication.fragment.Fragment01;
import com.whut.yc.myapplication.fragment.Fragment02;
import com.whut.yc.myapplication.fragment.Fragment03;
import com.whut.yc.myapplication.fragment.Fragment04;
import java.util.ArrayList;
public class MainActivity extends ActionBarActivity {
ViewPager viewPager=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViewPager();
}
public void initViewPager(){
viewPager=(ViewPager)findViewById(R.id.viewPager);
ArrayList<Fragment> fragmentList=new ArrayList<Fragment>();
Fragment01 fragment01=new Fragment01();
Fragment02 fragment02=new Fragment02();
Fragment03 fragment03=new Fragment03();
Fragment04 fragment04=new Fragment04();
fragmentList.add(fragment01);
fragmentList.add(fragment02);
fragmentList.add(fragment03);
fragmentList.add(fragment04);
MyViewPagerAdapter adapter=new MyViewPagerAdapter(getSupportFragmentManager(),fragmentList);
viewPager.setAdapter(adapter);
}
}
Fragment01.java
package com.whut.yc.myapplication.fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.support.v4.app.Fragment;
import com.whut.yc.myapplication.R;
/**
* A simple {@link Fragment} subclass.
*/
public class Fragment01 extends Fragment {
public Fragment01() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment01, container, false);
}
}
Fragment01.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" tools:context="com.whut.yc.myapplication.fragment.Fragment01"
android:background="#930217"
>
<!-- TODO: Update blank fragment layout -->
<TextView android:layout_width="match_parent" android:layout_height="match_parent"
android:text="@string/hello_blank_fragment" />
</FrameLayout>
Fragment02,Fragment03,Fragment04与Fragment01类似*重点内容*
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</RelativeLayout>
怕自己忘了,所以还是写下来吧。比较基础,网上很多滑动标签页的,我去掉了标签的部分。一步一步来嘛。
下一步是将viewpager和标签页结合起来。