`
wiseideal
  • 浏览: 449675 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Fragment使用方法一则

 
阅读更多

之前在项目里也用到了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的创建、添加、替换以及与Activity交互的细节。 1. **Fragment的创建**:Fragment是Android.app.Fragment类的子类。创建一个新的Fragment时,你需要扩展...

    ViewPager+Fragment基本使用

    本文将深入探讨ViewPager+Fragment的基本使用方法,以及如何通过它们来设计出更加灵活的界面风格。 首先,让我们了解一下ViewPager。ViewPager源自android.support.v4库,它允许用户在水平方向上滑动浏览多个页面,...

    TabFragment 使用Fragment 实现标签功能

    6. **添加和替换Fragment**:另一种常见的实现方式是使用`FragmentManager`的`add()`和`replace()`方法来添加或替换Fragment。这种方式适用于需要动态管理Fragment的场景,比如在运行时添加或移除Fragment。 7. **...

    简单的使用Fragment

    而"MyTabHostDemo"可能是一个使用TabHost和Fragment的演示项目,TabHost是Android早期用来实现标签页切换的组件,与Fragment结合使用可以创建多标签视图的应用。 总的来说,Fragment是Android开发中的重要工具,它...

    fragment使用:viewpageIndicator+fragment的组合使用

    在Android开发中,`Fragment`和`ViewPager`的组合使用是一种常见的实现屏幕滑动切换的方案,而`ViewPageIndicator`则可以为这种滑动提供更直观的视觉提示。本篇将深入探讨`Fragment`、`ViewPager`以及`...

    Android使用Fragment实现底部菜单使用show()和hide()来切换以保持Fragment状态

    总之,使用Fragment和BottomNavigationView结合show()和hide()方法是创建带有底部菜单的Android应用的一种常见策略。这种方式能够提供流畅的用户体验,同时有效利用内存,因为Fragment的状态得以保留,不必每次都...

    多层Fragment与ViewPager结合使用

    `Fragment`代表一个可重用的UI块,可以在多个`Activity`之间共享,而`ViewPager`则允许用户左右滑动查看多个`Fragment`,通常用于实现平滑的页面滚动效果。在某些复杂的应用场景中,我们可能会遇到多层`Fragment`与`...

    点击退出返回上一个Fragment

    用户可以通过点击后退键或调用`FragmentManager.popBackStack()`方法来从栈顶取出并移除最近的Fragment,从而返回到前一个Fragment的状态。 实现“点击退出返回上一个Fragment”的功能,通常有以下几种方式: 1. ...

    Fragment实现分页导航

    ViewPager则是一种可以左右滑动切换页面的视图容器,它能够自动管理多个Fragment的生命周期,使得在手机和平板设备上实现流畅的页面滑动成为可能。 **Fragment的使用** Fragment的生命周期与Activity紧密关联,但有...

    fragment使用

    - 对于复杂的Fragment,注意避免内存泄漏,及时释放资源,合理使用Fragment的onSaveInstanceState()和onViewStateRestored()方法保存和恢复状态。 - 使用Fragment的懒加载策略,避免不必要的初始化操作。 9. **...

    Fragment嵌套Fragment实现多tab页面

    Fragment嵌套则是指在一个Fragment内部再包含其他的Fragment,这样的设计可以将复杂的界面逻辑分解为更小、更易管理的部分。下面我们将详细探讨实现这个项目的关键步骤和知识点: 1. **创建Fragment和子Fragment**...

    Activity如何改变Fragment的UI

    例如,我们可以使用`replace()`方法来替换现有Fragment或者`add()`方法来添加新的Fragment。代码示例: ```java FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction ...

    Fragment初步使用,添加两个fragment

    3. **Transaction操作**:动态添加Fragment时,需要使用FragmentManager的beginTransaction()方法开始一个事务,然后调用add(), replace(), remove()等方法进行操作,并最后通过commit()提交事务。例如,添加两个...

    包括fragment的使用 动画的使用

    Fragment是Android 3.0(API级别11)引入的一个重要概念,它允许开发者在一个活动中拆分多个UI组件或屏幕。Fragment可以独立存在,也可以嵌套在Activity中,使得UI设计更加灵活。以下是Fragment的一些关键知识点: ...

    ViewPager+Fragment,Fragment嵌套Fragment实现页面活动

    `ViewPager`是Android Support Library的一部分,它允许用户左右滑动来浏览多个页面,而`Fragment`则是一个可以添加到Activity中的模块化屏幕部分。在某些情况下,我们可能需要在一个`Fragment`中嵌套另一个`...

    Fragment内嵌套Fragment

    - 使用`FragmentManager`的`beginTransaction()`方法,调用`hide()`、`show()`、`replace()`等方法实现Fragment的切换。 - `hide()`和`show()`用于隐藏和显示已存在的Fragment,而`replace()`则会移除当前Fragment...

    fragment中嵌套fragment

    7. **更新和替换嵌套Fragment**:如果需要更新或替换已存在的嵌套Fragment,可以使用`FragmentTransaction.replace()`方法,用新的Fragment替换旧的。 8. **处理回退栈**:在嵌套Fragment中,回退栈的管理需要额外...

    Fragment 结合viewpager使用 和Fragment 多次套用

    这需要使用`FragmentManager`的`beginTransaction()`方法开始一个事务,然后调用`add()`方法来添加`Fragment`,最后使用`commit()`提交事务。 3. **处理生命周期**:当一个`Fragment`中包含其他`Fragment`时,需要...

    《Fragment详解之二——基本使用方法》对应源码

    本篇文章将深入讲解Fragment的基本使用方法,并结合源码进行详细解析。 1. **Fragment的生命周期** Fragment有自己的生命周期,包括onAttach(), onCreate(), onCreateView(), onViewCreated(), onStart(), ...

    viewpager和fragment 搭配使用

    Fragment则代表一个可重用的UI部分,可以在Activity中动态添加、删除或替换。它使得应用程序能够更好地适应不同屏幕尺寸和配置,因为Fragment可以在Activity中自由组合,以适应平板电脑和手机等不同设备。Fragment...

Global site tag (gtag.js) - Google Analytics