Fragment----静态创建碎片】的更多相关文章

1,Fragment的目的及应用场景 fragment 是3.0后引入的类,其字面翻译为“碎片”. 目的是将activity划分成许多单元再进行组合,可以根据不同分辨率屏幕,在不同状态下,灵活创建优化UI并提高复用性. 2,Fragment的创建 第一种方式:通过xml标签创建 step 1:创建fragment类继承fragment关系类,其中导包的时候app包为3.0以后使用,v4包可以向下兼容 step 2:在activity的xml文件中添加fragment标签并添加name属性为fra…
从今天开始做一套安卓的学习笔记,开发环境是Android Studio,把学习过程中的知识和遇到的问题都写在这里,先从Fragment开始学起. Fragment概述 Fragment是Android3.0之后引入的全新的概念,主要目的是用于大屏幕设备上,例如平板电脑.简单来说,就我的个人理解,Fragment相当于一个一个集成好的装饰品,可以用来装饰Activity.而在Activity的空间变化了之后,只需要更改装饰品的摆放位置即可,而无需重新修改具体的一个个零件.如下图所示,当一个适用于平…
import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.util.Log; /* * 测试使用Fragment(静态加载) * 1. 定义Fragment的子类, 并加载一个布局文件 * 2. 在布局文件中通过<fragment>指定指定自定义Fragment * 3. 我们的Activity必须继承于FragmentActivity * 每个Fragment本质上都会生成…
一,首先,Fragment是android应用中十分重要的一个功能,十分轻量化,也类似于activity一样,是一个个布局,可以相互跳转和传递参数.但是,它运行起来十分流畅,而且易于管理,下面是在学习时候看慕课网中的一些接受: Fragment在应用中应当是一个模块化和可重用的组件,因为Fragment定义了它自己的布局,以及通过使用它自己的生命周期回调方法定义了自己的行为,你可要将Fragment包含到多个Activity中去. (1)Fragment可以作为Activity的一部分展现出来…
APP中出现多个页面再常见不过了.使用activity与fragment都能实现多页面,这里使用fragment来实现.延续“知音”这个APP的开发,之前已经创建了底部导航条与mainactivity. 首先创建一个fragment,作为“广场”页面.在菜单中new一个fragment出来即可,如下面的截图:   此时会自动生成这个fragment的xml跟类,xml用于界面设计,而fragment类用于界面管理,并被activity类使用,请看截图:     注意,Fragment有两个基类,…
由于这里涉及到接口回调的问题,所以先来看一看什么是接口回调: 这就好比老板和员工的微妙关系,老板需要员工去工作,员工挣钱了以后还要告诉老板自己挣了多少钱,然后由老板来处理这些钱. 首先创建一个接口: package com.fitsoft; public interface CallBack { void collectMoney(String name, int money); } 由于员工挣完钱了以后,钱由老板来处理,因此接口也是由老板来实现 创建老板类: package com.fitso…
一.静态加载 1.首先创建一个layout布局fragment.xml,里面放要显示和操作的控件 2.创建一个layout布局main1.xml,用来实现页面的跳转(跳转为要实现静态加载的界面) 3.创建一个layout布局main2.xml,用来实现MyFragment类的转换为视图控件的定义 4.创建一个继承自Activity的Main1.java类,载入main1.xml的视图,并且实现点击后页面跳转为Main2.java类 5.创建一个继承自Activity的Main2.java类,载入…
import android.os.Bundle; import android.app.Activity; import android.app.Fragment; import android.app.FragmentManager; import android.view.Menu; import android.view.View; import android.widget.TextView; import android.widget.Toast; /** * * 有3个fragme…
之前一直都是这么写的 pageViewModel = ViewModelProviders.of(this).get(PageViewModel.class); //参数this是当前fragment 后来发现,这么写,问题很大== 当我们使用ViewPager(或ViewPager2)时,在Fragment重建后,ViewModel会被重新创建(与Fragment重建前的ViewModel不是同一个) 后来我改成了这样 pageViewModel = ViewModelProviders.of…
点击下面不同的TextView变化不同的Fragment avtivity与Fragment之间传递消息不能使用构造器传递,用bunder传递 首先写一个含有FrameLayout(这个布局最佳),里面最好没有其他的控件的xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools&qu…
效果图: 首先,先大致布局成这个形状 看动画中,横看分为两个区域,所以整体是一个水平排列 设置外层LinearLayout的参数 android:orientation="horizontal" 在看左边,上面是一个文本,下面是一个list,成线性排列,右边是一个Fragement 所以布局方式为: 然后,可以看出左边和右边空间比例为1:3 左边设置android:layout_weight="3" 右边设置android:layout_weight="1…
区别就在这里,Activity中添加菜单要这样: public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main_menu,menu); return super.onCreateOptionsMenu(menu); } 而在Fragment中要这样: public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { i…
#include <stdio.h>#include <stdlib.h> struct BTNode{ char data ; struct BTNode * pLchild ; struct BTNode * pRchild ;} ;struct BTNode * creatBTree(void);void PreTraverseBTree(struct BTNode * pT) ;int main(){ struct BTNode * pT= creatBTree(); //…
A Fragment represents a behavior or a portion of user interface in an Activity. 在一个Activity活动中,一个Fragment代表一个行为或者用户界面的一部分 You can combine multiple fragments in a single activity to build a multi-pane UI and reuse a fragment in multiple activities. 你可…
目录 引言 1.效果图 2.源码 3.案例解析 4.小问题 5.结语 引言        平常会做一些有意思的小案例练手,通常都会发到codepen上,但是codepen不能写分析.        所以就在博客上开个案例分享系列,对demo做个剖析.目的以分享为主,然后也希望各路大神能给出改进的想法,在review中提升技术,发现乐趣~ 1.效果图 完整效果,请移步 codepen-流星雨案例 纯CSS案例及本篇案例完整源码,请移步The night of the metero 2.源码 HTM…
引言 平常会做一些有意思的小案例练手,通常都会发到codepen上,但是codepen不能写分析.        所以就在博客上开个案例分享系列,对demo做个剖析.目的以分享为主,然后也希望各路大神能给出改进的想法,在review中提升技术,发现乐趣~ 1.效果图 完整效果,请移步 codepen-流星雨案例 2.源码 HTML <body> <div class="container"> <div></div> <div>…
静态加载好后的界面如下,两个碎片分别位于一个活动的左边和右边: 左边和右边分别为一个碎片,这两个碎片正好将一整个活动布满.一个活动当中可以拥有多个碎片,碎片的含义就是可以在同一个UI界面下,将这个界面分成好几个界面,并且可以分别更新自己的状态,如果没有碎片,那么如果你想要单独在某一个区域实现活动的“跳转”就不可能了,因此我们可以引入碎片,这样就可以在这个区域单独进行碎片的跳转.在利用底部标题栏进行首页UI的切换的时候就需要用到碎片,因此碎片在安卓开发当中十分广泛,这篇博客将会与你讲解如何实现静态…
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…
Fragment 碎片 一, Fragment是什么? Android 3.0以后出现的 Api11 以上 Activity的组成部分 Fragment(小的Activity) Fragment可以显示 UI内容 可以和用户进行交互 Fragment的主要作用:提高代码的重用性 和用户体验 可以对Activity组件 进行分组和模块化的管理 Fragment 有自己的生命周期 可以接受和处理用户的事件 可以在Activity中 添加,替换和移除 Fragment 注意:1,Fragment必须依…
什么是碎片? 碎片(Fragment)是一种可以嵌入在活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板上应用的非常广泛.可以把Fragment当成Activity一个界面的一部分,那么 Activity的界面就由完全不同的Fragment组成,且Fragment有自己的声明周期和接收.处理用户的事件,支持动态的添加.替换.移除某个Fragment. 为什么使用碎片? 我们知道,Android上的界面展示都是通过Activity实现的,但Activity也有它的局限性,同…
Fragment是个特别的存在,有点像报纸上的专栏,看起来只占据页面的一小块,但是这一小块有自己的生命周期,可以自行其是,仿佛独立王国,并且这一小块的特性无论在哪个页面,给一个位置就行,添加以后不影响宿主页面的其他区域,去除后也不影响宿主页面的其他区域.每个fragment都有自己的布局文件,依据其使用方式可分为静态注册和动态注册两种,静态注册是在布局文件中直接放置fragment节点,类似于一个普通控件,可被多个布局文件同时引用.静态注册一般用于某个通用的页面部件(如logo条,广告条等),每…
布局文件中添加碎片 1.在onCteate()方法中调用inflater.inflate()加载Fragment布局 2.在xml的<fragment>中需要显示指明碎片名称(android:name="com.exmple.fragment.LeftFragment")需要将类的包名加上. 动态添加碎片 1.创建待添加的碎片实例 2.获取FragmentManager,在活动中可以直接掉用getFragmentManager()方法得到. 3.开启一个事务,通过调用beg…
一个Fragment必须总是被嵌入到一个Activity中,它的生命周期直接被其所属的宿主Activity生命周期影响,它的状态会随宿主的状态变化而变化. 要创建一个Fragment 必须创建一个Fragment的子类,或者继承自另一个已经存在的Fragment的子类.并重写onCreateView()方法加载UI. 静态加载两个Fragment,左边显示三个Button,右边显示一个TextView <LinearLayout xmlns:android="http://schemas.…
Fragment是Android honeycomb 3.0新增的概念,Fragment名为碎片不过却和Activity十分相似,下面介绍下Android Fragment的作用和用法.Fragment用来描述一些行为或一部分用户界面在一个Activity中,你可以合并多个fragment在一个单独的activity中建立多个UI面板,同时重用fragment在多个activity中.你可以认为fragment作为一个activity中的一节模块 ,fragment有自己的生命周期,接收自己的输…
简述: 最近做开发的时候又遇到了Fragment,发现太久没写,都快忘了,就抓紧写个笔记(我太懒的了233) Fragment可以简单的看成迷你的活动,它和活动一样都有布局和生命周期,它可以嵌入活动之中, 这样在活动的这个大布局中,还可以嵌入碎片的布局,那么app的功能就可以多样化,实现碎片的方式也 很简单,因为碎片是个迷你的活动,那么肯定得和活动一样,搭配一个布局文件,所以做法是先创建 对应碎片的布局文件,然后新建碎片类继承Fragment类,把碎片布局加载进来,然后再把这个碎片 加载到对应我…
Fragment是activity的界面中的一部分或一种行为.可以把多个Fragment组合到一个activity中来创建一个多界面并且可以在多个activity中重用一个Fragment.可以把Fragment任务模块化的一段activity,它具有自己的生命周期,接收它自己的事件,并可以在activity运行时被添加或删除. 本文地址:http://www.cnblogs.com/wuyudong/p/5893804.html,转载请注明源地址. Fragment不能独立存在,它必须嵌入到a…
创建Fragment 要创建fragment,必须从Fragment或Fragment的派生类派生出一个类.Fragment的代码写起来有些像activity.它具有跟activity一样的回调方法,比如 onCreate(),onStart(),onPause()和onStop().实际上,如果你想把老的程序改为使用fragment,基本上只需要把activity的回调方法的代码移到fragment中对应的方法即可. 通常需要实现以上生命周期函数: onCreate(): 当创建fragmen…
Fragments的生命周期 每一个fragments 都有自己的一套生命周期回调方法和处理自己的用户输入事件. 对应生命周期可参考下图: 创建片元(Creating a Fragment) To create a fragment, you must create a subclass of Fragment (or an existing subclass of it). The Fragment class has code that looks a lot like an Activit…
在一个商业软件中,会有很多的界面,如果没一个界面对应一个activity,那么activity会非常的多,清单文件也会非常的乱,谷歌在android3.0以后引入了新的概念叫fragment fragment无需在清单文件中配置,轻量级的activity,在所属的activity布局文件中进行配置 在布局文件中使用fragment控件 添加<fragment>节点,设置名称是fragment指向的类全路径 其他属性和别的控件一样 新建一个类Fragment1继承系统的Fragment类,此时会…
Fragment一定要有一个无参的构造方法! 因为当Activity因屏幕旋转或者因内存不足被系统杀死时,会导致Activity被重新创建,而当Activity被重建时,FragmentManager会首先去获取保存下来的fragment队列,重建fragment队列,进而恢复fragment的状态. 但是当重建Fragment时,调用的是Fragment的无参的构造方法,如果不存在无参的构造方法(比如定义了有参的构造方法后没有再显示的定义无参的构造方法),那么会导致异常,这时整个Activit…