1、首先介绍自动fragment+Viewpager
这是效果图。
分为以下几个步骤:
1、自定义fragmentPagerAdapter,这个是Viewpager适配fragment的适配器
2、完成4个fragment的编写
3、完成activity_main.xml
4、在MainActivity中设置一下Viewpager及其监听器即可
1.1自定义fragmentPage人Adapter——MainFragmentPagerAdapter
package com.ing.adapters;
import java.util.ArrayList;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
/**
* @date 2015-3-10
* @author DLX
* 自定义FragmentPagerAdapter,用于主页的Viewpager
*/
public class MainFragmentPagerAdapter extends FragmentPagerAdapter {
private ArrayList<Fragment> fragmentList;
public MainFragmentPagerAdapter(FragmentManager fm,ArrayList<Fragment> fragmentList) {
super(fm);
this.fragmentList = fragmentList;
}
@Override
public Fragment getItem(int i) {
return fragmentList.get(i);
}
@Override
public int getCount() {
return fragmentList.size();
}
}
其中构造方法和getItem和getCount是自定义适配器时必须要实现的方法,这里我们传入了一个list方便我们对4个fragment进行操作
1.2完成4个fragment的书写。
这里只简单的列举一个,其他3个与此差不多。我们只需要简单的实现onCreateView方法即可
package com.ing.fragments;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.example.carpool.R;
public class MessageFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_message, container,false);
}
}
注意,这里的inflate参数的最后一个一定要是false,不然会因为布局错误(多个父组件)发生错误
1.3、完成activity_mian.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="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
>
</android.support.v4.view.ViewPager>
<LinearLayout
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="#888888"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_seek"
style="@style/navigation_tabwidget"
android:checked="true"
android:drawableTop="@drawable/navigation_home"
android:text="@string/navigation_bar_seek" />
<Button
android:id="@+id/btn_carpoolgrooup"
style="@style/navigation_tabwidget"
android:drawableTop="@drawable/navigation_home"
android:text="@string/navigation_bar_carpoolgroup" />
<Button
android:id