Fragment,android碎片开发的必备物品,之前一直都是cy同事的代码,从没仔细去看看,后来独立开发了,也是网上去找开源的直接套用.但天不遂人愿,产品的一个小改动,开源库却无法满足需求了!想了想,还是自己写吧.
仔细看了文档和一些博客,才突然明白,Fragment的使用居然简单此令人发指······,开发了一年半才俯下身子学Fragment,感觉有点汗颜!
所有的东西,都是自己写,废话不多说,上码!
先上布局代码:
<android.support.v4.view.ViewPagerandroid:id="@+id/pager"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"/><Viewandroid:layout_width="match_parent"android:background="#000"android:layout_height="0.5dp"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="48dp"><TextViewandroid:id="@+id/manager_tv"android:layout_width="0dp"android:layout_weight="1"android:layout_height="48dp"android:layout_marginLeft="5dp"android:background="@null"android:gravity="center"android:text="管理"android:textColor="#3eb0ff"android:textSize="12sp"/><Viewandroid:id="@+id/message_red"android:layout_width="0.5dp"android:background="#000"android:layout_height="match_parent"/><TextViewandroid:id="@+id/message_tv"android:layout_width="0dp"android:layout_weight="1"android:layout_height="48dp"android:layout_marginLeft="5dp"android:background="@null"android:gravity="center"android:text="消息"android:textSize="12sp"/></LinearLayout>
效果图:

到主界面中初始化控件,新建MangerFragment,代码如下:
public class MangerFragment extends Fragment {protected Context mActivity;@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable BundlesavedInstanceState) {return inflater.inflate(R.layout.activity_manager, container, false);}@Overridepublic void onAttach(Context context) {this.mActivity = context;super.onAttach(context);}}
布局文件代码和图片:
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:hjm="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:id="@+id/manager_tv"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginLeft="5dp"android:background="@null"android:gravity="center"android:text="我是管理"android:textColor="#3eb0ff"/></LinearLayout>

同理新建MessageFragment!接下来就是初始化Fragment,添加到viewPager中去.
private void initFragment() {list = new ArrayList<Fragment>();list.add(new MangerFragment());list.add(new MessageFragment());// 把fragment和ViewPager关联起来DataCompareFragmentAdapter adapter = new DataCompareFragmentAdapter(getSupportFragmentManager(), list);mPager.setAdapter(adapter);}``
DataCompareFragmentAdapter:
public class DataCompareFragmentAdapter extends FragmentPagerAdapter {private List<Fragment> mFragments;public DataCompareFragmentAdapter(FragmentManager fm, List<Fragment> mFragments) {super(fm);this.mFragments = mFragments;}@Overridepublic Fragment getItem(int position) {return mFragments.get(position);}@Overridepublic int getCount() {return mFragments.size();}}
启动你的App,一个简单的Fragment碎片就成了!
