使用fragment构建动态布局
来源:互联网 发布:战略管理书籍推荐知乎 编辑:程序博客网 时间:2024/06/04 19:43
使用fragment可以构建动态ui,不同activity可以复用ui,起初是为了适应大屏幕例如平板而生。
fragment生命周期。
1.必须重写的方法,onCreateView
<span style="font-size:18px;">public class ArticleFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.article_view, container, false); }}</span>
2.在xml文件news_articles中使用,可以看到在xml中可以像普通控件一样使用fragment
<span style="font-size:18px;"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <fragment android:name="com.example.android.fragments.HeadlinesFragment" android:id="@+id/headlines_fragment" android:layout_weight="1" android:layout_width="0dp" android:layout_height="match_parent" /> <fragment android:name="com.example.android.fragments.ArticleFragment" android:id="@+id/article_fragment" android:layout_weight="2" android:layout_width="0dp" android:layout_height="match_parent" /></LinearLayout></span>3.使用FragmentActivity来加载,
<span style="font-size:18px;">public class MainActivity extends FragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.news_articles); }}</span>4.fragment不仅可以在xml中直接引用,也可以在程序允许期间动态的添加和移除。
因为要动态加载,我们的fragment要先在activity的layout中定一个区间用来加载我们将要放进去的fragment
在xml文件news_articles中有,
<span style="font-size:18px;"><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/fragment_container" android:layout_width="match_parent" android:layout_height="match_parent" /></span>使用代码添加fragment,
<span style="font-size:18px;">public class MainActivity extends FragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.news_articles); // Check that the activity is using the layout version with // the fragment_container FrameLayout if (findViewById(R.id.fragment_container) != null) { // However, if we're being restored from a previous state, // then we don't need to do anything and should return or else // we could end up with overlapping fragments. if (savedInstanceState != null) { return; } // Create a new Fragment to be placed in the activity layout HeadlinesFragment firstFragment = new HeadlinesFragment(); // In case this activity was started with special instructions from an // Intent, pass the Intent's extras to the fragment as arguments firstFragment.setArguments(getIntent().getExtras()); // Add the fragment to the 'fragment_container' FrameLayout getSupportFragmentManager().beginTransaction() .add(R.id.fragment_container, firstFragment).commit(); } }}</span>
使用代码移除替换fragment,
<span style="font-size:18px;">// Create fragment and give it an argument specifying the article it should showArticleFragment newFragment = new ArticleFragment();Bundle args = new Bundle();args.putInt(ArticleFragment.ARG_POSITION, position);newFragment.setArguments(args);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 backtransaction.replace(R.id.fragment_container, newFragment);transaction.addToBackStack(null);// Commit the transactiontransaction.commit();</span>使用代码隐藏fragment,
弹出所有入栈的fragment,getSupportFragmentManager().popBackStackImmediate(
null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
0 0
- 使用fragment构建动态布局
- 使用Fragment实现动态布局
- 5.0 使用Fragment类构建动态UI
- Android如何使用Fragment构建动态界面
- Android动态加载布局(fragment限定符的使用)
- Android官方开发文档Training系列课程中文版:使用Fragment构建动态UI之Fragment创建
- Fragment的基本使用(向布局中动态添加Fragment)
- Fragment的基本使用(向布局中动态添加Fragment)
- 用Fragment构建一个动态UI
- 动态使用Fragment
- 动态使用Fragment
- Fragment之动态使用
- fragment静态动态使用
- Android官方开发文档Training系列课程中文版:使用Fragment构建动态UI之与其它Fragment通信
- Training--使用Fragment创建动态UI(2)--构建一个灵活的UI
- (四)Building a Dynamic UI with Fragments使用fragment构建动态用户界面
- Android官方开发文档Training系列课程中文版:使用Fragment构建动态UI之构建灵活的UI
- 使用FragmentTabHost+Fragment打造布局
- nyoj 2 括号配对问题
- url传递参数乱码
- /home被格式化后进入不了系统的解救方法
- Apache+Tomcat+AJP
- 【初探Spring】——Spring IOC(二):初始化过程—简介
- 使用fragment构建动态布局
- 一切从五子棋开始
- 上周学习总结
- 在ubuntu中gsettings的命令使用及查找到系统挂起的未活动的超时时间的值的获取方法
- 背包dp训练总结
- Linux服务器jdk,tomcat配置
- jQuery Validation Engine 表单验证
- 表单增强与验证——多行文本(字符计数器)
- Java8-Stream使用实战