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

Carson带你学Android:这是一份详细 & 全面的Fragment学习攻略

今天,我将讲解关于Fragment的使用 目录 1....定义 Activity界面中的一部分,可理解为模块化的Activity Fragment不能独立存在,必须嵌入到Activity中 Fragment具有自己的生命周期,接收它自己的事件,并可以在Activity...生命周期解析 先来看官方说明图 详解每个方法的调用场景 onAttach方法 Fragment和Activity建立关联的时候调用(获得activity的传递的值) onCreateView方法...Android 3.0后,Activity可直接继承自Activity,并且在其中嵌入使用Fragment // 2....Android 3.0前,Activity需FragmentActivity(其也继承自Activity),同时需要导入android-support-v4.jar兼容包,这样在Activity中才能嵌入

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

    错误操作怎么办?用他让你不再害怕!—Dialog最详解

    Dialog对话框是Android常用的基础视图组件之一,本期总结了对话框常用的几种样式,以及自定义视图和带动画效果的对话框,打开你们的IDE,赶紧跟着我们继续奋斗吧!...简介 Dialog组件并非继承自 View,而是继承自 Object, Dialog的生命周期通常会由 Activity来控制,当 Activity被销毁后,如果再有对 Dialog的操作会导致异常:java.lang.IllegalArgumentException...日期对话框 - TimePickerDialog 时间对话框 所有对话框,都是直接或简介继承自 Dialog,其它的几个类均继承自 AlertDialog。...="vertical"> <RelativeLayout android:layout_width="300dp" android:layout_height=...android:id="@+id/login_btn" android:layout_width="wrap_content" android:layout_height

    1.4K20

    我一行代码都不写实现Toolbar!你却还在封装BaseActivity?

    你不能改三方库的 Activity 所以你只有改你的 BaseActivity 让它去继承三方库的 Activity,但是当改了 BaseActivity 后,发现有很多继承于 BaseActivity...所以作为一个可配置化集成框架作者,我不能让开发者去直接改我的 BaseActivity 我必须通过其他扩展的方式去解决这个问题 进入正题 好了进入正题,要想解决上面提到的问题,我们就要思考我们为什么一定要封装...BaseActivity 通过继承来实现一些 Activity 的公共逻辑,而不能将公共逻辑封装到其他类里面?...<ImageView android:layout_width="wrap_content" android:layout_height...---- 这里还要说一句,每个人的思路不一样,考虑问题的角度也不一样,你认同我也好, 不认同我也好,都不会影响我探索未知的脚步,至少我是在用我的思路创新,解决一些我认为有必要解决的问题,和上一篇的文章一样

    84740

    关于activitygroup过时,用frament替换操作

    现在Fragment的应用真的是越来越广泛了,之前Android在3.0版本加入Fragment的时候,主要是为了解决Android Pad屏幕比较大,空间不能充分利用的问题,但现在即使只是在手机上,也有很多的场景可以运用到...但是殊不知,TabHost并非是那么的简单,它的可扩展性非常的差,不能随意地定制Tab项显示的内容,而且运行还要依赖于ActivityGroup。...我已经事先从QQ里截好了几张图作为这个项目的资源,稍后会连同源码一起给出。 新建一个项目,起名就叫FragmentDemo,这里我使用的是4.0的API。...这显然不是我们想要的,也和ActivityGroup的工作原理不符,因此最好的解决方案就是使用hide()和show()方法来隐藏和显示Fragment,这就不会让Fragment的生命周期重走一遍了。...这样,我们就成功使用Fragment编写出了和TabHost一样的效果。每个界面的具体逻辑就可以写在相应的Fragment里,效果和之前写在Activity里是差不多的。

    3.2K70

    Android Fragment应用实战

    现在Fragment的应用真的是越来越广泛了,之前Android在3.0版本加入Fragment的时候,主要是为了解决Android Pad屏幕比较大,空间不能充分利用的问题,但现在即使只是在手机上,也有很多的场景可以运用到...但是殊不知,TabHost并非是那么的简单,它的可扩展性非常的差,不能随意地定制Tab项显示的内容,而且运行还要依赖于ActivityGroup。...我已经事先从QQ里截好了几张图作为这个项目的资源,稍后会连同源码一起给出。 新建一个项目,起名就叫FragmentDemo,这里我使用的是4.0的API。...这显然不是我们想要的,也和ActivityGroup的工作原理不符,因此最好的解决方案就是使用hide()和show()方法来隐藏和显示Fragment,这就不会让Fragment的生命周期重走一遍了。...这样,我们就成功使用Fragment编写出了和TabHost一样的效果。每个界面的具体逻辑就可以写在相应的Fragment里,效果和之前写在Activity里是差不多的。

    1.2K100

    Android Fragment应用实战,使用碎片向ActivityGroup说再见

    现在Fragment的应用真的是越来越广泛了,之前Android在3.0版本加入Fragment的时候,主要是为了解决Android Pad屏幕比较大,空间不能充分利用的问题,但现在即使只是在手机上,也有很多的场景可以运用到...但是殊不知,TabHost并非是那么的简单,它的可扩展性非常的差,不能随意地定制Tab项显示的内容,而且运行还要依赖于ActivityGroup。...我已经事先从QQ里截好了几张图作为这个项目的资源,稍后会连同源码一起给出。 新建一个项目,起名就叫FragmentDemo,这里我使用的是4.0的API。...这显然不是我们想要的,也和ActivityGroup的工作原理不符,因此最好的解决方案就是使用hide()和show()方法来隐藏和显示Fragment,这就不会让Fragment的生命周期重走一遍了。...这样,我们就成功使用Fragment编写出了和TabHost一样的效果。每个界面的具体逻辑就可以写在相应的Fragment里,效果和之前写在Activity里是差不多的。

    1K100

    我一行代码都不写实现Toolbar!你却还在封装BaseActivity?

    你不能改三方库的 Activity 所以你只有改你的 BaseActivity 让它去继承三方库的 Activity,但是当改了 BaseActivity 后,发现有很多继承于 BaseActivity...所以作为一个可配置化集成框架作者,我不能让开发者去直接改我的 BaseActivity 我必须通过其他扩展的方式去解决这个问题 进入正题 好了进入正题,要想解决上面提到的问题,我们就要思考我们为什么一定要封装...BaseActivity 通过继承来实现一些 Activity 的公共逻辑,而不能将公共逻辑封装到其他类里面?...<ImageView android:layout_width="wrap_content" android:layout_height...这里还要说一句,每个人的思路不一样,考虑问题的角度也不一样,你认同我也好, 不认同我也好,都不会影响我探索未知的脚步,至少我是在用我的思路创新,解决一些我认为有必要解决的问题,和上一篇的文章一样,我就是喜欢使用不一样的思路解决同样的问题

    33110

    手把手教你写一个完整的自定义View

    支持padding & margin 如果不支持,那么padding和margin(ViewGroup情况)的属性将失效 对于继承View的控件,padding是在draw()中处理 对于继承...具体实例 接下来,我将用自定义View中最常用的继承View来说明自定义View的具体应用和需要注意的点 4.1 继承VIew的介绍 ?...在下面的例子中,我将讲解: 如何实现一个基本的自定义View(继承VIew) 如何自身支持wrap_content & padding属性 如何为自定义View提供自定义属性(如颜色等等) 实例说明:画一个实心圆...4.2 具体步骤 创建自定义View类(继承View类) 布局文件添加自定义View组件 注意点设置(支持wrap_content & padding属性自定义属性等等) 下面我将逐个步骤进行说明:...总结 本文对自定义View的具体应用和注意点进行了全面分析 如果希望继续了解自定义View的原理,请参考我写的文章: 自定义View基础 - 最易懂的自定义View原理系列(1) 自定义View

    1.8K20

    Android:一个高效的UI才是一个拉风的UI

    尽量用最少的步骤完成布局 我是社会好青年,我为国家省资源;当然作为组件来说也需要这个觉悟,每个组件的绘制都会多多少少耗费终端的资源。...所以我们在这里可不能听老祖宗的话:韩信点兵多多益善了,精兵简政才是UI设计的唯一出路。不相信?行!下面就开始给个对比的例子。 假设项目需要搞这么一个按钮: ? 这不简单吗?...我靠。。。。三个组件的布局竟然用了六层嵌套布局,瞬间有了一种大花姑娘嫁给老光棍的一种深深的浪费感。...我们开始看图说话,第一层和第二层的组件是系统都会自动生成的,这个是板上钉钉没法商量的事情,除非你去底层跟他们好好谈谈。...小结一个:标签能百分百代替这个布局组件,对于不复杂的其他布局组件如线性布局等组合组件中,可以在继承子类中对其属性进行设置后也可以使用标签,<merge

    74890

    Android仿qq侧滑菜单

    我们经常能看到各种app中都有应用侧滑菜单(SlidingMenu),效果很好的一种显示方式,今天我就向大家展示可以说是很简单就能实现和qq的侧滑菜单很相似的效果。...现在侧滑菜单的框架在github上也有很多,有兴趣的可以去搜一下,今天我就给大家展示一个简单的仿qq侧滑菜单的例子。...下面我将我的代码贴出来,大家可以参考,或修改。...部分实现代码 首先我们生成一个自定义view 继承HorizontalScrollView SlidingMenu.java public class SlidingMenu extends HorizontalScrollView...,不怎么会形容),还是不能理解我说的什么意思的话可以自己看看手机qq的效果 定义view的大小 我们为了让水平滚动条要适配屏幕的大小,所以得定义一下view的宽和高和自身的宽高 /** * 设置子view

    1.2K31

    Carson带你学Android:手把手教你写一个完整的自定义View

    支持padding & margin 如果不支持,那么padding和margin(ViewGroup情况)的属性将失效 对于继承View的控件,padding是在draw()中处理 对于继承ViewGroup...具体实例 接下来,我将用自定义View中最常用的继承View来说明自定义View的具体应用和需要注意的点 4.1 继承VIew的介绍 在下面的例子中,我将讲解: 如何实现一个基本的自定义View(继承...View类) 布局文件添加自定义View组件 注意点设置(支持wrap_content & padding属性自定义属性等等) 下面我将逐个步骤进行说明: 步骤1:创建自定义View类(继承View类...canvas.drawCircle(width/2,height/2,r,mPaint1); } } 特别注意: View的构造函数一共有4个,具体使用请看:深入理解View的构造函数和...> // 格式使用: <Button android:layout_width="42dip" android:layout_height="42dip" /> <-- 5. float

    1.9K10

    Android 自定义View 之 计时文字

    前言   在Android开发中,常常会有计时的一些操作,例如收验证码的时候倒计时,秒表的计时等等,于是我就有了一个写自定义View的想法,本文效果图。...二、构造方法   之前我说自定义View有三种方式,一种是继承View,一种是继承现有的View,还有一种是继承ViewGroup,那么今天的这个计时文字,我们就可以继承现有的View,这样做的目的就是可以让我们减少一定的工作量...TimingListener接口,代码如下: public interface TimingListener { void onEnd(); } 三、API方法 下面在TimingTextView中新增一些API方法和变量...= null) { listener.onEnd(); } } 代码还是很简单的,你敢信,这个自定义View就写完了,不过可能存在一些问题,我将自定义View...="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="30dp"

    34440
    领券