Fragment的使用

Fragment的使用

优点:采用fragment而不是activity来管理应用UI,可绕开Android系统activity使用规则的限制。
fragment是一种控制器对象,activity可委派它执行任务。这些任务就是管理用户界面。受管理的用户界面可以是一整屏或是整屏的一部分。

CriminalIntent项目的应用

需要的类与xml

需要添加 RecyclerView 依赖库

RecyclerView :

    1. 我们需要 CrimeListFragment 向用户展示crime列表,这就要用到 RecyclerView 类。
      RecyclerView 是 ViewGroup 的子类,每一个列表项都是作为一个 View 子对象显示的。
    2. 这样可以使view循环利用,而不需要创建大量的视图

添加RecyclerView视图在布局文件中

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/crime_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
设置关联
private RecyclerView mCrimeRecyclerView;

@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,
Bundle savedInstanceState){
View view = inflater.inflate(R.layout.fragment_crime_list, container,false);
mCrimeRecyclerView = (RecyclerView) view
.findViewById(R.id.crime_recycler_view);
mCrimeRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));

return view;
}
使用viewpager
用处:让用户可以左右滑动屏幕,切换查看不同列表项的明细页面
创建CrimePagerActivity
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_crime_pager);
设置pager的adapter
mCrimes=CrimeLab.get(this).getCrimes();
FragmentManager fragmentManager = getSupportFragmentManager();
mViewPager.setAdapter(new FragmentStatePagerAdapter(fragmentManager) {
@Override
public Fragment getItem(int position) {
Crime crime = mCrimes.get(position);
return CrimeFragment.newInstance(crime.getId());
}

@Override
public int getCount() {
return mCrimes.size();
}
});
界面效果

 



 

 


 

 

 



posted on 2017-09-30 09:37  杨研  阅读(139)  评论(0)    收藏  举报

导航