之前在项目里也用到了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的使用方法。 首先贴上实例的运行效果截图: 效果图的左边是一个列表,右边是列表item的详情。 先看一下布局文件(layout): XML/HTML代码 <?xml...
懒加载简介:使用viewpager+fragment作为应用大的布局时,viewpager会通过setOffscreenPageLimit来设置预加载的项目, 不设置setOffscreenPageLimit,则默认为1(设置0无效,可以查看该方法源码知道),也就是当我们...
说明:本代码的minSdkVersion 14,因此如果api小于3.0(11)则需要导入v4包来解决兼容问题,同时让fragment所在的activity继承自FragmentActivity,获取FragmentManger时,使用getSupportFragmentManager()
为了更好的使用和了解该库,推荐阅读下面的文章:Fragment全解析系列(一):那些年踩过的坑Fragment全解析系列(二):正确的使用姿势Demo演示:均为单Activity 多Fragment,第一个为简单流式demo,第二个为仿微信...
fragment的使用时Android的基础,它有两种用法,第一个就是静态的fragment。第二个则是动态的fragment。 静态fragment直接在layout创建你想要的fragment的XML的文件,然后在你的Java包里面创建对应fragment的class...
fragment特点 Fragment与Activity相似,有自己的生命周期,布局。...在安卓开发当中,一个十分重要的布局则是底部标题栏了,拥有了底部标题栏,我们就拥有了整个软件UI开发的框架,一般而言,整个软件的布局首先就是
当在 控件初始化前 调用Validate.reg(this)方法,则不会添加任何规则/监听事件 20170914 :有网友说@Shield不清楚有什么用,所以增加一个界面ShieldDemoActivity.java,展示@Shield注解在项目中实际使用 特点 不...
1.ViewPager简单介绍 ViewPager就是一个简单的页面切换组件,我们可以往里面填充多个View,然后我们可以左右滑动...另外,Google官方是建议我们使用Fragment来填充ViewPager的,这样> 可以更加方便的生成每个Page,以及
如果您在Java 8上运行AEM 6.1(或SP2或6.0),则可能要使用新的Nashorn JavaScript引擎来完成服务器端JS方面的工作。 不幸的是,即使nashorn.jar在系统类路径中,您也无法-OSGi容器中的捆绑包无法使用它。 该项目...
一、加载方式 1. 静态加载 1.1 加载步骤 (1) 创建fragment:创建自定义Fragment类继承自Fragment类,同时将自定义Fragment类与Fragment视图绑定(将layout转换成View) ...返回值为Fragment显示的UI,若不显示,则返
如果需要activity返回结果,则调用startActivityForResult方法,在onActivityResult方法中获得返回结果。此外,每一个要展示的activity需要在AndroidManifest.xml文件中注册。而且,如果在某些特定的情况下(比如...
但是fragment则是基于activity,突破了已经固定好的layout的限制,在原有的layout中,把布局元素作为容器,动态容纳新的layout。 这样就等于在一个activity中可以拥有多个界面。 2、ListFragment实例讲解 最终效果...
Android 一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导开发 IOS 由苹果公司开发的移动操作系统 Webkit 一个开源的浏览器引擎,在手机上的...
一、jQuery.clean使用方法jQuery.clean( elems, context, fragment, scripts );二、思路分析1、处理参数context,确保其为文档根节点document2、处理参数elems数组(循环遍历数组) 2.1、elem为数字,转换为字符串 ...
TT段,是用来标记资源类型的,比如图标、布局等,相同的类型TT值相同,但是同一个TT值不代表同一种资源,例如这次编译的时候可能使用03作为layout的TT,那下次编译的时候可能会使用06作为TT的值,具体使用那个值,...
如果给定请求中的所有权限都被授予,则将执行使用正确请求代码注释的所有方法(确保具有唯一的请求代码)。 带注释的方法需要是无效的并且没有输入参数(相反,您可以使用 onSaveInstanceState 以保持被抑制参数的...
这是为Android编写的一个程序,主要为了实现监听剪切板和其他应用的通知,如果里面有需要设定闹钟提醒的事件时,则自动新建提醒目前项目所使用方法或技术:1、Listview展示,notify更新2、MPAndroid图表库的使用3、...
那么系统默认是多缓存1页,当页面大于2的时候,后面的页面会重新初始化(执行方法onCreateView,onViewCreated等),如果体验要好,则setOffscreenPageLimit(tabBar.length),则是一次性创建的所有fragment,...
一,如何部署: 1,部署tomcat服务器: 解压apache-tomcat-6.0.36-windows-x64.zip至d盘, 把zhbj这个文件夹放置到D:\apache-tomcat-6.0.36\webapps目录 2,把项目ApplicationFramework导入到android studio中,...
据推测,该类将从 Android Activity 中初始化,在这种情况下, this是参数的建议值(如果代码在Fragment ,则应使用getActivity方法)。 方法getElementIds()接受两个参数:要解析的布局文件的资源 ID,以及作为...