用fragment碎片动态创建UI

觉得自己还是十分的浮躁,总想快点学习完毕,学到一些很漂亮的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
时间: 2024-11-10 07:36:19

用fragment碎片动态创建UI的相关文章

Android研究之动态创建UI界面详解

 Android的基本UI界面一般都是在xml文件中定义好,然后通过activity的setContentView来显示在界面上,这是Android UI的最简单的构建方式.其实,为了实现更加复杂和更加灵活的UI界面,往往需要动态生成UI界面,甚至根据用户的点击或者配置,动态地改变UI,本文即介绍该技巧.对事件和进程的可能安卓设备实现触摸事件的监听,跨进程 假设Android工程的一个xml文件名为activity_main.xml,定义如下: 1 2 3 4 5 6 7 8 9 10 11

Fragment碎片的创建和动态更新

Fragment,在平板应用中较为参见,把视图分为两个甚至多个模块. 一,一个简单的fragment 1.创建两个局部文件,用于等待被调用 (1)left_fragment (2)right_fragment 2.分别创建两个继承于fragment类的类 (1)leftFragment(加载xml文件) public class LeftleftFragment extends Fragment { @Nullable @Override public View onCreateView(Lay

Android学习路线(二十一)运用Fragment构建动态UI——创建一个Fragment

你可以把fragment看成是activity的模块化部分,它拥有自己的生命周期,接受它自己的输入事件,你可以在activity运行时添加或者删除它(有点像是一个"子activity",你可以在不同的activity中重用它).本课将向你展示如何使用Support Libaray继承 Fragment 类来让你的应用能够兼容正在运行Android 1.6的设备. 提示: 如果你决定你的应用需求的最低API级别是11或者更高,那么你不需要使用Support Library,你可以直接使用

Android学习路线(二十)运用Fragment构建动态UI

要在Android系统上创建一个动态或者多面板的用户界面,你需要将UI组件以及activity行为封装成模块,让它能够在你的activity中灵活地切换显示与隐藏.你可以使用Fragment类来创建这些模块,它们能够表现得有些像嵌套的activity,它们定义着自己的布局,管理自己的生命周期. 当一个fragment指定了它自己的布局,它可以在activity中和其他的fragment配置为不同的组合,这样就能够为不同的屏幕尺寸来修改你的布局配置(在小屏幕上一次展现一个fragment,而在大屏

动态添加Fragment碎片

1.      创建待添加的碎片实例. 2.      获取到FragmentManager,在活动中可以直接调用getFragmentManager()方法得到. 3.      开启一个事务,通过调用beginTransaction()方法开启. 4.      向容器内加入碎片,一般使用replace()方法实现,需要传入容器的id和待添加的碎片实例 5.      提交事务,调用commit()方法来完成 package com.jia.fragmenttest; import andr

9) 十分钟学会android--使用Fragment建立动态UI

为了在 Android 上为用户提供动态的.多窗口的交互体验,需要将 UI 组件和 Activity 操作封装成模块进行使用,这样我们就可以在 Activity 中对这些模块进行切入切出操作.可以用 Fragment 创建这些模块,Fragment 就像一个嵌套的 Activity,拥有自己的布局(Layout)并管理自己的生命周期. Fragment 定义了自己的布局后,它可以在 Activity 中与其他 Fragment 生成不同的组合,从而为不同的屏幕尺寸生成不同的布局(小屏幕一次也许只

fragment 事务回滚 ---动态创建fragment

1 import java.util.Date; 2 import java.util.LinkedList; 3 4 import com.qianfeng.gp08_day23_fragment5.fragment.TestFragment; 5 6 import android.os.Bundle; 7 import android.app.Activity; 8 import android.app.Fragment; 9 import android.app.FragmentTrans

Android学习路线(二十二)运用Fragment构建动态UI——构建一个灵活的UI

先占个位置,下次翻译 :p When designing your application to support a wide range of screen sizes, you can reuse your fragments in different layout configurations to optimize the user experience based on the available screen space. For example, on a handset devi

Android学习路线(二十三)运用Fragment构建动态UI——Fragment间通讯

先占个位置,下次翻译 :p In order to reuse the Fragment UI components, you should build each as a completely self-contained, modular component that defines its own layout and behavior. Once you have defined these reusable Fragments, you can associate them with