之前在项目里也用到了fragment,作为横向滑动的组件显示不同栏目的内容,感觉和activity很类似,也就一直没有多发心思在上面。今天看到一个demo算是把我过去的一些猜想验证了。直接放代码
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.head, new HeadFragment());//将制定的view替换为fragment对象
ft.replace(R.id.bottom, new BottomFragment());
ft.add(new HeadFragment(), "head");//通过"head"可以从stack中取出对应的fragment 这在之前项目里没有用到
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);//切换动画
ft.commit();//提交
布局文件
<LinearLayout 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:orientation="vertical"
tools:context=".FragmemtActivity" >
<LinearLayout
android:id="@+id/head"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" >
</LinearLayout>
<LinearLayout
android:id="@+id/bottom"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" >
</LinearLayout>
</LinearLayout>
以下是某个fragment
public class HeadFragment extends Fragment{
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View contentView = inflater.inflate(R.layout.head, null);
container.addView(contentView);
return super.onCreateView(inflater, container, savedInstanceState);
}
}
fragmeng的布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView android:id="@+id/txt_head" android:text="head" android:layout_width="fill_parent" android:layout_height="wrap_content"/>
</LinearLayout>
最让我惊讶的是fragment替换了指定的view
本文通过一个具体示例介绍了如何使用Fragment来实现视图的替换及动画效果,并展示了如何通过标签从堆栈中取出对应的Fragment,这对于理解Fragment的工作原理及其在实际项目中的应用非常有帮助。
3650

被折叠的 条评论
为什么被折叠?



