码迷,mamicode.com
首页 > 其他好文 > 详细

用fragment碎片动态创建UI

时间:2015-11-03 00:43:36      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

觉得自己还是十分的浮躁,总想快点学习完毕,学到一些很漂亮的UI控件,本来最近应该弄文件下载的,但是又去弄fragment了

不过根据我自己的理解的话,我觉得fragment就像一个个的view可以通过FragmentMannager对主界面的fragment进行管理

 

1.要创建一个碎片,应该先定义其布局文件,现在我定义了一个left_fragment.xml布局文件

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical" >
 6     
 7     <Button 
 8         android:id="@+id/button"
 9         android:layout_width="wrap_content"
10         android:layout_height="wrap_content"
11         android:layout_gravity="center_horizontal"
12         android:text="Button"/>
13     
14 </LinearLayout>

 

2.为碎片创建对应的类:LeftFragment.java

 1 package com.ll.learnfragment;
 2 
 3 import android.app.Fragment;
 4 import android.os.Bundle;
 5 import android.view.LayoutInflater;
 6 import android.view.View;
 7 import android.view.ViewGroup;
 8 
 9 public class LeftFragment extends Fragment {
10 
11     @Override
12     public View onCreateView(LayoutInflater inflater, ViewGroup container,
13             Bundle savedInstanceState) {
14         // TODO Auto-generated method stub
15         // 第一个是resource ID,指明了当前的Fragment对应的资源文件;
16         //第二个参数是父容器控件;
17         //第三个布尔值参数表明是否连接该布局和其父容器控件,在这里的情况设置为false,因为系统已经插入了这个布局到父控件,设置为true将会产生多余的一个View Group。
18         View view = inflater.inflate(R.layout.left_fragment, container, false);
19         return view;
20     }
21 }

 

3.有了对应的类,就可以在主界面的布局文件中添加碎片了

1  <fragment 
2         android:id="@+id/left_fragment"
3         android:name="com.ll.learnfragment.LeftFragment"
4         android:layout_width="0dp"
5         android:layout_height="match_parent"
6         android:layout_weight="1"/>

 

4.替换碎片代码如下:

 1  class ClickListener implements OnClickListener{
 2 
 3         @Override
 4         public void onClick(View v) {
 5             // TODO Auto-generated method stub
 6             switch(v.getId()){
 7             case R.id.button:
 8                 // 1.生成要显示的fragment
 9                 AnothorRightFragment fragment = new AnothorRightFragment();
10                 // 2.得到碎片管理器
11                 FragmentManager fragmentManager = getFragmentManager();
12                 // 3.通过碎片管理器开启一个事物
13                 FragmentTransaction transaction = fragmentManager.beginTransaction();
14                 // 4.向容器中加入碎片,一般用replace()方法实现
15                 transaction.replace(R.id.right_layout, fragment);
16                 transaction.addToBackStack(null);
17                 // 5.提交事物
18                 transaction.commit();
19                 break;
20             default:
21                 break;
22             }
23         }
24     } // end of ClickListener class

 

用fragment碎片动态创建UI

标签:

原文地址:http://www.cnblogs.com/liul/p/4931921.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!