首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Fragment初识

例如:新闻应用可以使用一个片段在左侧显示文章列表,使用另一个片段在右侧显示文章—两个片段并排显示在一个 Activity 中,每个片段都具有自己的一套生命周期回调方法,并各自处理自己的用户输入事件。...这特别重要,因为模块化片段让您可以通过更改片段的组合方式来适应不同的屏幕尺寸。 在设计可同时支持平板电脑和手机的应用时,您可以在不同的布局配置中重复使用您的片段,以根据可用的屏幕空间优化用户体验。...例如:仍然以新闻应用为例—在平板电脑尺寸的设备上运行时,该应用可以在Activity A 中嵌入两个片段。..., * 所以在fragment中获取Activity的组件最早只能在onActivityCreate()中获取, * 而Activity最早只能在onStart()中获取..., * 所以在fragment中获取Activity的组件最早只能在onActivityCreate()中获取, * 而Activity最早只能在onStart()中获取

1.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    源码分析 | 布局文件加载流程

    梳理一下: 在 setContentView() 中创建 DecorView ,接着根据系统窗口的类型获取到一个资源 layout。...接着讲这个资源文件 加载到 DecorView 中,并 通过findViewById 获取了 资源文件中 id 为 @android:id/content 的控件,将其强转为 ViewGroup 并返回...view; } } 通过上面可以看到 在使用 LayoutInflater.from(this).inflate(layout(), null) 时,是如何调用到 AppCompatDelegateImpl...LayoutInflater ​ 通过获取系统的服务,并且是一个单例 2,如果使用 LayoutInflater ​ 三种使用方式,在开头说过了 3,布局是如果被实例化的 ​ 最终布局是通过反射进行实例化的...在 onCreateView 中,判断如果是 Button,就修改他显示的内容。

    47030

    源码分析 | 布局文件加载流程

    梳理一下: 在 setContentView() 中创建 DecorView ,接着根据系统窗口的类型获取到一个资源 layout。...接着讲这个资源文件 加载到 DecorView 中,并 通过findViewById 获取了 资源文件中 id 为 @android:id/content 的控件,将其强转为 ViewGroup 并返回...view; } } 复制代码 通过上面可以看到 在使用 LayoutInflater.from(this).inflate(layout(), null) 时,是如何调用到 AppCompatDelegateImpl...LayoutInflater ​ 通过获取系统的服务,并且是一个单例 2,如果使用 LayoutInflater ​ 三种使用方式,在开头说过了 3,布局是如果被实例化的 ​ 最终布局是通过反射进行实例化的...在 onCreateView 中,判断如果是 Button,就修改他显示的内容。

    47320

    Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式

    onPause()->onStop()->onDestroyView()->onDestroy()->onDetach() Fragment与Activity Fragment是通过调用getActivity()的方法获取...Activity的; Activity是通过调用FragmentManager的findFramentById()的,也可以用findFragmentByTag()方法获取Fragment片段的。...中设置 public class MyFragment extends Fragment{ @0verride public View onCreateView(LayoutInflater...: 是为了解决版本兼容性问题 过程 我们创建好布局文件,然后在MainActivity中添加,进行实例 准备数据源 private...parent) 如果自己定义一个适配器,定义后,实现BaseAdapter中的方法, 然后创建构造函数 private int[] images; public ImageAdapter(int [

    1.6K20

    android之Fragment介绍

    Fragment是一种可以嵌入在Activity当中的UI片段,用来组建Activity界面的局部模块, 也可以说一个Actiivty界面可以由多个Fragment组成。...一个fragment必须总是嵌入在一个activity中,同时fragment的生命周期受activity的影响。本质上会产生一个FrameLayout,它加载的布局为其子布局。...Fragment的生命周期 image.png onCreateView是创建的时候调用,onViewCreated是在onCreateView后被触发的事件,前后关系 就是fragment中的onCreateView...方法 为Fragment创建视图(加载布局)时调用(给当前的fragment绘制UI布局,可以使用线程更新UI) onActivityCreated方法 当Activity中的onCreate方法执行完后调用...方法 Fragment和Activity解除关联的时候调用(脱离activity) 使用实例 fragment_tab.xml <?

    81620

    动态创建Fragment

    动态创建fragment的流程 1.0 新建一个类继承fragment. 2.0 在自定义的fragment里面复写oncreateVIew的方法 3.0 在onCreateVIew的方法里使用inflate...第二步,复写onCreateView的方法 第三步,在onCreateView方法里面进行,使用inflater把layout布局文件转换为一个View对象 第四步,在onCreateView的return...方法里,把我们的View对象返回出去 第五步,在要使用activity的布局里面,像使用控件的方式把我们的fragment定义到ViewGroup(就是布局里面) 动态使用fragment的步骤: 第一步....在onCreateVIew的return方法里,把我们的View对象返回出去 第五步.在java代码里通过静态方法getFragmentManager获取fragmentManager管理 第六步,通过...下面是我做的一个小Demo 是在一个页面中实现各个Activity之间的通信,左侧点击按钮,右侧出现相应的Activity界面.同时on关实现两个Activity之间的通信.

    2.4K10

    Android使用Fragment仿微信底部导航栏

    原文博客:Doi技术团队 链接地址:https://blog.doiduoyi.com/authors/1584446358138 初心:记录优秀的Doi技术团队学习经历 这是一个使用Fragment做的一个底部导航栏的小.../> 下面是给每个Fragment添加按钮的点击事件,值得注意的是,在Fragment的点击事件跟Activity不一完全相同,在获取空间是不是直接findViewById..., 而是要通过获得的view,而获取context不能直接this了,要是用getActivity() @Override public View onCreateView(LayoutInflater...view = inflater.inflate(R.layout.fragment_me, container, false); //需要通过上面获得的View来findViewById...this关键字了,要使用getActivity()代替 Toast.makeText(getActivity(),"我的",Toast.LENGTH_SHORT).show

    1.8K50

    新闻客户端主界面部分

    当我们使用activity加fragment的时候,每个界面都要建立一个fragment,每个fragment里面都要重写onCreate(),onCreateView(),onActivityCreated...布局文件中添加节点 获取ViewPager对象,通过findViewById()方法 调用ViewPager对象的setAdapter...()方法,设置适配器,参数:PagerAdapter对象 使用匿名内部类的方式实现抽象方法,getCount(),isViewFromObject(),instantiateItem(),destroyItem...() 重写getCount()方法,返回轮播的个数 重写isViewFromObject()方法,返回布尔值, 重写instantiateItem()方法,将当前view对象添加到ViewGroup对象...,返回当前对象 重写destroyItem()方法,从当前container中删除指定位置(position)的View package com.qingguow.news.fragment; import

    1.1K30

    从0系统学Android--4.1探究碎片

    4.1 碎片是什么 碎片(Fragment)是一种可以嵌入到 Activity 中的 UI 片段,让程序更加合理和充分利用屏幕的空间。...这里仅需要放入一个碎片,不需要任何定位,因此非常适合使用 FrameLayout 下面在代码中向 FrameLayout 中添加内容,从而实现动态添加碎片的功能。...动态添加碎片主要分为 5 步: 创建待添加的碎片 获取 FrgmentManager ,FragmentManager是一个抽象类,在 Activity 中通过 getSupportFragmentManager...4.2.3 在碎片中模拟返回栈 在上一小节中已经学习了如何动态添加碎片,不过当我们按下 Back 键程序就直接退出了,如何实现类似于返回栈的效果,当按下 back 键的时候返回到上一个碎片呢?...4.2.4 碎片和活动之间进行通信 为了方便碎片和活动之间进行通信,FragmentManager 提供了一个类似于 findViewById() 的方法,专门用于从布局文件中获取碎片的实例。

    65520

    所得与所见: 框架层

    硬件层也就是如何将屏幕的物理像素点与要显示的颜色对应,这里就不往下扯了 在硬件层篇(如果未来我写得出来的话...几率渺茫),再好好延伸一下 ---- 2.Window对象与View 软件层面来说...,屏幕被我们抽象成了一个抽象的Window对象 一共也就近2000行代码,定义了Window非常多的抽象行为 在颜值担当Activity的源码分析中我们遇到过它,不知你有无印象 Activity...获取 ViewGroup contentParent = (ViewGroup)findViewById(ID_ANDROID_CONTENT); ......这个ViewGroup中,我的好奇心让我非常想知道 com.android.internal.R.id.content对应的布局是什么?...|--PhoneWindow中的两个核心View是在installDecor方法中初始化的 3.Window上何时添加View,ViewRootImpl在哪实现的?

    18220

    Kotlin干掉了findViewById,但用不好也会有性能问题

    在 Kotlin 中,有个非常便捷的特性,就是无需再使用 findViewById() 方法,Kotlin 可以直接通过 View 的 ID 来访问 View 并进行操作,该特性被称为「静态布局引入」。...Kotlin 干掉了 findViewById 2.1 如何使用? 想使用这个特性,还需要一些简单的配置,不过在 Android Studio 中,我们支持 Kotlin 的时候就已经自动配置完成。...这很简单,没什么好说的。 2.3 在 Fragment 中的实现 在 Fragment 当然也可以这么使用,但是有稍许不同。...原因在于 Fragment 生成的 _$_findCachedViewById() 方法,使用的是 getView().findViewById(),在 onCreateView() 中获取 getView...这一步,也不需要显式的调用 findViewById()。 这有什么用呢? 例如在 Fragment 的 onCreateView() 中,一定不能操作布局内的控件吗?

    2.8K10

    如何使用icebreaker在外部环境中获取活动目录明文凭证

    关于icebreaker  icebreaker是一款针对活动目录凭证安全的研究工具,在该工具的帮助下,广大研究人员能够在活动目录环境之外(但在内部网络中)获取目标活动目录的明文凭证。...该工具会对目标活动目录以自动化的方式进行五次内部渗透测试,并尝试获取明文凭证。除此之外,我们还可以使用--auto选项来以自动化的形式获取域管理员权限。  ...工具运行机制  1、反向爆破:自动获取用户名列表,并使用两个最常用的活动目录密码测试每个用户名(两次以上的尝试可能会触发帐户锁定策略); 2、上传网络共享:通过将恶意文件上传到可用网络共享来捕获用户的密码...(向右滑动,查看更多) 从主机列表中读取,告诉Responder使用eth0接口而不是默认网关接口,让Responder运行30m而不是通常的10m,并运行默认的ntlmrelayx命令以将SAM转储到目标服务器...llmnr,relay,dns,crack -p /home/user/password-list.txt (向右滑动,查看更多) 用后即弃方法: 输入目标文件,抓取companydomain.com以获取要添加到反向爆破中的电子邮件用户名

    44310
    领券