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

安卓-碎片的使用入门

第四章-Android开发中的碎片 4.1 碎片是什么 碎片(Fragment)是一种可以嵌入在活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板上应用得非常广泛。...图 4.4 平板模拟器的运行效果 4.2.1 碎片的简单用法  这里我们准备先写一个最简单的碎片示例来练练手,在一个活动当中添加两个碎片,并让这两个碎片平分活动空间。  ...图 4.6 动态添加碎片的效果  如果想要得到一种效果:按BUTTON一下就会使右边的两个布局切换,只要将MainActivity.java的onCreate()方法改成以下逻辑即可: @Override...如果这里我们想模仿类似于返回栈的效果,按下Back键可以回到上一个碎片,该如何实现呢?  ...类似地,每个碎片在其生命周期内也可能会经历这几种状态,只不过在一些细小的地方会有部分区别。 运行状态 ​ 当一个碎片是可见的,并且它所关联的活动正处于运行状态时,该碎片也处于运行状态。

1.4K20

《移动互联网技术》第五章 界面开发: 掌握Activity的基本概念,Activity的堆栈管理和生命周期

当用户按下后退键,后压入的活动将从返回栈中弹出,前面压入的活动又显示在屏幕上。...处于暂停状态的活动仍然是存活着的,系统通常不会回收这种活动。 (3) 停止状态 当活动被压到返回栈的下面,在屏幕上完全不可见,这个时候活动就处于停止状态。系统会保存活动的状态和成员变量。...android:textSize="40sp" /> 接下来,在PagersActivity的onCreate函数中初始化ViewPager,并添加滑动切换的多个视图...碎片和活动解除关联,调用onDetach()函数。在碎片的生命周期中,同样有运行状态、暂停状态、停止状态和销毁状态。 在整个生命周期中,碎片依附于活动而存在。...碎片在运行状态是可见的,并且它所归属的活动也正在运行。当活动进入暂停状态(由于另一个未占满屏幕的活动被添加到了栈顶),它上面的碎片也会进入暂停状态。当活动停止,它上面的碎片就进入停止状态。

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

    Android开发笔记(六十七)嵌入页面的碎片

    Fragment进阶 竖屏与横屏的兼容 前面我们说到,Fragment可用于切换不同尺寸的屏幕,为了实现这个功能,Android引入了碎片事务FragmentTransaction。...无则添加,有则替换 remove : 移除碎片 addToBackStack : 加入一个回退栈。这是为了在用户按下返回键时,能够回到上一个页面。...导致状态丢失的情况有很多,其中一种是早期的Android可能在onStop之前就会结束Activity,后来从3.0开始只能在onStop之后才能结束Activity,这样早期Android如果在omPause...方法,因为此时可能状态尚未恢复; 2、不要往Fragment传递较大的参数,比如说图像数据; 3、不要在异步任务中调用commit方法; 竖屏与横屏切换的开发注意事项如下,手机与平板的切换可参照处理...因此为了避免触摸当前页面导致触发上一页面的点击事件,需要在页面切换时禁用上一页面的相关控件,当然返回到上一页面时就得开启相关控件。

    1.3K60

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

    为了兼顾手机和平板开发,Android 3.0 引入了碎片的概念,可以让界面在平板上更好的展示。...比如我们要开发一个新闻类的 APP。在手机端可以是这样的。 可以是如果在平板上也这样设计,那么新闻标题列表就会给拉伸的很长,而新闻的标题一般都不会太长,这样设计就会导致页面不合理。...4.2.1 碎片的简单用法 写一个最简单的碎片示例,在一个 Activity 中添加两个碎片,并让这两个碎片平方 Activity 空间。...4.2.3 在碎片中模拟返回栈 在上一小节中已经学习了如何动态添加碎片,不过当我们按下 Back 键程序就直接退出了,如何实现类似于返回栈的效果,当按下 back 键的时候返回到上一个碎片呢?...fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.framelayout,fragment); // 可以接受一个名字用于描述返回栈的状态

    65520

    从0系统学Android--4.2 Fragment 生命周期

    4.3.1 碎片的状态和回调 运行状态 当一个碎片可见,并且它所关联的活动正处在运行状态时,这个碎片也处于运行状态。...暂停状态 当一个 Activity 进入暂停状态时,与它相关联的可见碎片就会进入到暂停状态。...停止状态 当一个活动进入了停止状态时,与他关联的碎片就会进入到停止状态,或者通过调用 FragmentTransaction 的 remove()或者 replace() 方法将碎片从活动中移除,前提是在事务提交之前调用...4.3.2 体验碎片的生命周期 就是在上一个例子的基础上,在每个方法汇总打印一下,观察一下效果就好了。...4.4.1 使用限定符 经常使用平板电脑我们会发现有些应用都是采用双页模式(程序会在左侧面板上显示一个包含子项的列表,在右侧的面板上显示内容)。这是因为平板电脑屏幕的大的原因,完全可以显示两页的内容。

    59510

    如何优化 Windows 的磁盘碎片整理?

    设置优化频率(如每周一次)。手动执行碎片整理选择目标磁盘。点击“优化”按钮,系统会自动执行碎片整理。3. 优化固态硬盘(SSD)对于固态硬盘,传统的碎片整理并不适用,应使用TRIM功能来优化性能。...检查TRIM状态fsutil behavior query DisableDeleteNotify如果返回值为 0,说明TRIM已启用;如果为 1,则需要启用:fsutil behavior set DisableDeleteNotify...系统会对SSD执行垃圾回收操作,而不是传统意义上的碎片整理。4. 禁用不必要的磁盘优化某些设置可能会对磁盘性能产生负面影响,需要禁用。禁用磁盘索引右键点击目标磁盘,选择“属性”。...取消勾选“允许文件在此驱动器上建立索引”。禁用磁盘压缩右键点击目标磁盘,选择“属性”。取消勾选“压缩此驱动器以节省磁盘空间”。5. 清理磁盘空间磁盘空间不足会影响碎片整理的效果,因此需要定期清理。...监控磁盘健康状态磁盘的健康状态直接影响优化效果,建议定期检查。使用CrystalDiskInfo下载并安装 CrystalDiskInfo 。

    11921

    Android交流会-碎片Fragment,闲聊单位与尺寸

    标题图 女孩:又周末了哦~ 男孩:那么今日来开个交流会,我们也学一学人家高大尚的大会,自己开一个,广州站,Android开发攻城狮交流会~ 1.Fragment概要: Android从3.0开始引入了Fragment...的概念,中文意思为碎片,它的出现是为了更好展示UI的设计,让程序更加得到充分的展示。...Fragment有四种状态:运行状态,暂停状态,停止状态,销毁状态。...onAttach(): 一旦片段与其活动相关联就被调用; onCreate(): 片段被调用创建; onCreateView(): 创建并返回相关的视图结构; onActivityCreated(...我们先来添加一个setMain() 方法,来显示打开界面时,显示的初始页面 实现点击底部导航栏来切换响应的fragment,我们在onClick()中添加即可 图片 3.创建Fragment 创建一个Fragment

    1.2K20

    「分布式架构」最终一致性:反熵

    如果您阅读了本系列第一部分中的暗示切换队列,您已经知道暗示切换队列如何在数据节点中断期间保存数据并帮助您确保最终的一致性,但是在分布式系统中有很多方法会出错。...基本上,随着时间的推移,有序系统趋向于更高的熵状态;因此,熵越高,无序越大。我们反对时间序列数据中的无序,因此反对熵。 ?...在其他系统中,一旦节点2消失,用户就有责任确保节点得到修复并恢复到一致的状态,可能是通过手动识别和复制数据。说实话:谁有时间?我们有工作要做,还有华夫饼要吃。 ?...然后它将从好的shard节点1复制信息,以在节点2上填充它。砰!最终的一致性。 从更基本的角度来说,AE服务现在可以识别丢失或不一致的碎片并修复它们。这是自愈的最佳状态。...如果节点2有该碎片的部分副本,则比较这些碎片,然后在节点之间交换任何丢失的数据,以确保返回一致的答案。

    90910

    Android Fragment用法知识点的讲解

    标题图 Android Fragment用法的讲解 碎片,它的出现是为了更好展示UI的设计,让程序更加得到充分的展示。...第三步,调用addToBackStack(true)方法,目的为了允许用户通过按下返回按键返回到前一个Fragment状态,beginTransaction.commit()提交。...Fragment生命周期 Fragment有四种状态:运行状态,暂停状态,停止状态,销毁状态。...图片来源官方: 生命周期 onAttach(): 一旦片段与其活动相关联就被调用; onCreate(): 片段被调用创建; onCreateView(): 创建并返回相关的视图结构; onActivityCreated...add()添加 remove()删除 结语 本文主要讲解 Android Fragment用法知识点的讲解 下面我将继续对Java、 Android中的其他知识 深入讲解 ,有兴趣可以继续关注 小礼物走一走

    1K60

    从问题中寻求解决之道,应用性能优化之碎片化执行

    性能优化一直伴随着应用的整个生命周期,除了之前文章中提到的软件绘制、过度绘制和UI耗时,还有什么方法可以增强应用性能、提升用户体验?本文将重点分享UI、Render等线程执行碎片化问题及优化方案。...碎片化执行的含义 碎片化主要是指UI、Render等线程任务没有连续执行,而是在一帧时间内频繁running后又进入sleeping状态,导致某个任务完成时间超过一帧标准时间(60hz:16.7ms,90hz...优化UI耗时问题,可以有效提高Android应用性能表现。 如下图为碎片化执行(绿色片段表示运行,白色表示sleeping): 如下图为连续执行: 2....建议图片处理时适当压缩,并采用缓存方案,降低内存消耗并提升重复利用效率。 和浏览内核的GPU内存策略相关:为优化崩溃率问题,三方使用的浏览内核对GPU内存使用降级方案。...某些三方浏览内核基于兼容性考虑,采用CPU的方式,建议逐步切换到GPU的主流方式。

    60520

    Android开发笔记(一百六十九)利用BottomNavigationView实现底部标签栏

    在Android Studio上创建官方默认的首屏标签页面很方便,首先右击需要添加标签栏的模块,在弹出的右键菜单中依次选择“New”——“Activity”——“Bottom Navigation Activity...接着点击Dashboard标签,此时界面如下图所示,可见切换到了Dashboard频道。 继续点击Notifications,此时界面如下图所示,可见切换到了Notifications频道。...(底部导航视图),另一个是位于其上占据剩余屏幕的碎片fragment。...底部导航视图又由一排标签菜单组成,具体菜单在@menu/bottom_nav_menu中定义;而碎片为各频道的主体部分,具体内容在app:navGraph="@navigation/mobile_navigation...这些默认的碎片代码到底有何不同,打开其中一个HomeFragment.java研究研究,它的关键代码如下所示: public View onCreateView(@NonNull LayoutInflater

    1.5K20

    利用BottomNavigationView实现底部标签栏

    在Android Studio上创建官方默认的首屏标签页面很方便,首先右击需要添加标签栏的模块,在弹出的右键菜单中依次选择“New”——“Activity”——“Bottom Navigation Activity...接着点击Dashboard标签,此时界面如下图所示,可见切换到了Dashboard频道。 ? 继续点击Notifications,此时界面如下图所示,可见切换到了Notifications频道。...(底部导航视图),另一个是位于其上占据剩余屏幕的碎片fragment。...底部导航视图又由一排标签菜单组成,具体菜单在@menu/bottom_nav_menu中定义;而碎片为各频道的主体部分,具体内容在app:navGraph="@navigation/mobile_navigation...这些默认的碎片代码到底有何不同,打开其中一个HomeFragment.java研究研究,它的关键代码如下所示:     public View onCreateView(@NonNull LayoutInflater

    2.2K30

    近千节点的Redis集群运维,来自优酷蓝鲸的经验总结

    在Redis中主从节点需要互相感知彼此的状态,这种感知是通过从节点定时PING主节点并且主节点返回PONG消息来实现的。...这种方案需要Redis采用主从结构为前提,主要思路是先通过重启的方式处理掉从节点的碎片,之后进行主从切换,最后处理老的主节点的碎。这样通过极小的服务不可用时间窗口为代价消除了绝大大部分碎片。...被动过期策略:当客户端访问数据的时候,首先检查它是否已经过期,如果过期则删掉它,并返回数据不存在标识。...因为处于Open状态的Slot中的数据分散在源与目标两个节点上,所以如果需要访问Slot中的数据或者添加数据到Slot中,需要特殊的访问规则。Redis推荐规则是首先访问源节点再去访问目标节点。...所以该节点较长时间不能跟集群通信,当达到一定阈值的时候,集群会判定该节点为fail,并且会切换主从状态。

    1K30

    跟我学Android UI高级之十五碎片Fragment

    在3.0中引入了Fragments的概念,主要的目的是用在大屏幕的设备上,例如平板电脑,支持更加动态和灵活的UI设计。...Fragment可以作为Activity界面的一部分组成出现。 可以在一个Activity中同时出现多个Fragment,并且一个Fragment也可以在多个Activity中使用。...: 1.创建待添加的碎片对象; 2.获取FragmentManager的对象,使用getFragmentManager()方法得到; 3.开启一个事务,通过调用beginTransaction()方法开启.... 4.向容器内加入碎片,一般使用replace()方法开启,需要传入容器的id和待添加的碎片对象; 5.提交事务,调用commit()方法来完成。...在碎片中模拟返回栈,注意方法:addToBackStack(null);

    9110
    领券