android 碎片问题,Android碎片问题
我正在使用Fragments来表示我的应用程序中的不同视图.在视图之间导航时,我使用以下代码替换片段:
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left, R.anim.slide_in_left, R.anim.slide_out_right);
ft.replace(R.id.main_linearlayout_fragmentcont, frag);
ft.addToBackStack(null);
ft.commit();
旋转时我遇到了很多问题并重建了活动.我需要支持旧版本的android所以android:configChanges =“orientation”不是一个选项.很多问题都是由于Android如何保存Fragment状态的本质.
这些是我遇到的问题:
1)片段转换在旋转后自动恢复时,不记得弹出事件的自定义动画.然而他们记得我的BackStack.我知道我可以编写自己的后台处理程序,使用动画进行替换并一起摆脱弹出,但我想知道是否有办法在调用popBackStack()之前重置动画或者让FragmentManager记住旋转后自动恢复时的动画.
2)我遇到的另一个问题是我在我的一个顶级片段视图中有一堆子视图(linearlayouts),它们包含自己的片段.这些子视图以编程方式创建和填充.当我的片段在旋转后重新创建时,我以编程方式重建片段对象的onCreateView中的子视图,最后在每个子视图下面都有重复的片段(1 – 我以编程方式创建,1 – Android片段从恢复创建).我假设这是因为我在使用相同的id旋转后以编程方式重建子视图.有没有办法防止碎片被恢复?什么时候Android将片段从savedState注入这些视图我以编程方式构建?我该如何防止这种情况发生?
3)对于我的frag(Fragment)对象,上面的替换代码似乎多次触发onCreateView.当我仅运行上面的代码一次时,这是没有旋转的.有没有理由使用上面的代码多次调用片段的onCreateView?
有关碎片的问题:
1)我可以阻止Android在重建活动时自动恢复片段吗?我该怎么做?它是基于LinearLayout的ID吗?我可以调用包含片段onStop的LinearLayout的removeAllViews吗?这样,视图在保存时不存在?
2)有没有办法将片段添加到我有引用但没有ID的LinearLayout?看来片段添加,替换API需要一个int ID.
谢谢!
android 碎片问题,Android碎片问题相关推荐
- android碎片按钮,Android 碎片(Fragment)
Android 碎片(Fragment) 碎片是活动的一部分,使得活动更加的模块化设计.我们可以认为碎片是一种子活动. 下面是关于碎片的重要知识点 - 碎片拥有自己的布局,自己的行为及自己的生命周期回 ...
- android 首页6个碎片,Android 单帧碎片
Android 单帧碎片 单帧碎片:单帧碎片是为小屏幕设备所设计的,如手持设备(移动电话),Android 3.0 以上版本支持. 实例 该实例解释如何创建自己的碎片.这里我们创建两个碎片,其中一个被 ...
- android fragment 菜单栏,android UI:底部菜单栏的学习与制作——Fragment碎片一
碎片(Fragment) 嵌入与活动中的UI片段,为了合理的分配布局而存在,这是我的简单理解.多用于兼顾手机与平板的UI,也适用于灵活高级的UI制作. Demo 简单的按键切换两片不同的Demo 新建 ...
- Android 第十七课 碎片的简单用法及动态添加碎片
Fragment(碎片)是一种可以嵌入在活动当中的UI片段,它可以让程序更加合理和充分的利用大屏幕的空间.碎片和活动太像了,同样都包含布局,都有自己的声明周期,可以将碎片理解为一种迷你型的活动. 新建 ...
- android: 动态加载碎片布局的技巧
虽然动态添加碎片的功能很强大,可以解决很多实际开发中的问题,但是它毕竟只是在 一个布局文件中进行一些添加和替换操作.如果程序能够根据设备的分辨率或屏幕大小在运 行时来决定加载哪个布局,那我们可发挥的空 ...
- android androidx版本,Android AndroidX 简介与迁移
AndroidX 简介 AndroidX 是 Android 团队用于在 Jetpack 中开发,测试,打包,版本和发布库的开源项目 . AndroidX 是对原始 Android Support L ...
- android入门知识,android基础知识学习笔记
该笔记主要是通过学习<第一行代码>中的各种知识点以及实例,进行的个人学习记录,感谢图书作者郭霖大神 android:label 指定活动中标题栏的内容,标题栏是显示在活动最 顶部的* 标题 ...
- android 工作总结,Android项目的个人总结
Material Design 实战 是由谷歌的设计工程师 1.Toolbar xml文件中调用android.support.v7.widget.Toolbar 2.滑动菜单 DrawerLay ...
- android framelayout 高度,Android SupportLib – FrameLayout在CoordinatorLayout中与AppBarLayout消耗整个屏幕高度...
我目前在Android设计支持库的CoordinatorLayout中遇到了一个FrameLayout的问题,而在创建选项卡时,我遵循了这个 post的指示. 基本上大多数事情按预期工作,容器片段被充 ...
- Android学习之Android历史
一个优点:无论学习什么之前都要了解一下它的历史. Android读音:android 英 [ ˈændrɔɪd ] 美 [ ˈænˌdrɔɪd ],中文音译:"安叫伊德",或者&q ...
最新文章
- 一分钟帮你提升Android studio 编译速度
- 硬核!15张图解Redis为什么这么快
- 《Python基础教程第二版》第二章-Python列表和元祖
- 专访梅耶·马斯克:硅谷钢铁侠是怎样被炼成的?
- 如何了解这个世界(社会)运行的本质
- KlayGE中的FXAA已经完成
- jQuery的效果方法
- Python四:HoughCircles()霍夫变换
- POJ 1579 Function Run Fun
- php 随机数据库,PHP实现随机一句功能
- pyqt5写一个抽奖程序(再次美化)
- mysql表analyze_MySQL ANALYZE Optimize Check Table使用详解
- java class查看器_java class文件查看工具
- sobel 边缘检测 c语言,Sobel边缘检测算法(转载)(示例代码)
- 计算机网络误区——可以通过非ARP报文(正常数据包)学习ARP表项吗?
- 湖南省张家界市谷歌高清卫星地图下载
- Android开机自动运行
- Julia学习笔记:使用GLM包进行一元回归分析及模型拟合度检验
- 只有VOB文件也可以制作成DVD——用IfoEdit建立IFO篇(最好的方法)
- PHP 定界符EOT用法
热门文章
- linux下分割文件的方法,关于linux系统下分割大文件的方法
- Linux安装Bitbucket7.6.0教程-绝对干货满满
- Nodejs服务器端处理POST提交的数据_note
- fetch请求报错:
- python语言如何软件搬家_python写程序-就像搬家把物品分类放在箱子里
- ROS学习笔记(八): ROS通信架构
- delphi 实现屏幕旋转代码_代码检查 | 如何用Processing实现3D世界
- python链表结构_CodeSalt | Python数据结构的实现 — 链表
- php 传递resource参数,php define的第二个参数使用方法_php技巧 - is_resource
- centos 修改密码_openstack Train版部署——基于centos系统(四)