android:layout 冒号,android基础之fragment学习

fragment是嵌在activity内部的模块,其有自己的生命周期,但其生命周期必须依赖于activity的存在而存在,在API 11之前每个fragment必须与父FragmentActivity相关联,API 11之后就可以通过activity实现这种关联。在activity中嵌入fragment有两种方式,一种是通过在xml文件中如下声明,

android:orientation="horizontal"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/headlines_fragment"

android:layout_weight="1"

android:layout_width="0dp"

android:layout_height="match_parent" />

android:id="@+id/article_fragment"

android:layout_weight="2"

android:layout_width="0dp"

android:layout_height="match_parent" />

此种定义的fragmnet不可以在activity运行时remove掉,一般用于大屏幕的布局。

另一种可以定义一个存储fragment的容器,比如

android:id="@+id/fragment_container"

android:layout_width="match_parent"

android:layout_height="match_parent" />

此种定义的fragment可以实现在activity中实现add和remove等操作,但需注意的是此种必须在activity的oncreate方法中初始化fragment.如下

ArticleFragment newFragment = new ArticleFragment();

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

// Replace whatever is in the fragment_container view with this fragment,

// and add the transaction to the back stack so the user can navigate back

transaction.replace(R.id.fragment_container, newFragment);

transaction.addToBackStack(null);

// Commit the transaction

transaction.commit();

对于fragment的操作,是通过FragmnetTransaction实现的。首先通过getSupportedFragmentManager得到FragmentManagerusing Support Library APIs,然后调用beginTransaction得到FragmentTransaction.

注意,你可以执行多种fragment的操作用同一个fragmentTransaction,当执行完所有的操作后fragmentTransaction执行commit操作来保存对于fragment执行的各种操作。

当对fragment执行完removve操作后如果需要回到之前的fragment,需要在执行完remove操作后执行addToBackStack(String name);该方法中的string参数来给每个transaction一个唯一的标示,如果不想为其起名字可以addToBackStack(null).

fragment间的数据传递可以通过Bundle实现。语法如下fragment.setArgments(bundle);得到传递的bundle,Bundle bundle=getArgments();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值