Day 5 | Fragment

Fragment(碎片)是Activity中可重复利用的使用者介面,必须依附於Activity,因此Activity的生命周期会影响到Fragment的生命周期。

生命周期(lifecycle)

  • onCreate():产生新的Activity时呼叫,此周期用於定义Layout。
  • onRestart():从onStop()变成onStart()前呼叫。例如:使用者返回页面。
  • onStart():在onCreate()或onRestart()後呼叫,此时画面已可见。
  • onResume(): 画面可与使用者互动时呼叫。
  • onPause():画面暂停时叫。例如:使用者准备离开页面,此周期用於将画面资料保存
  • onStop():画面停时呼叫。例如:使用者离开画面,此时画面已不可见。
  • onDestroy():在页面销毁时呼叫,此周期用於释放占用的资源。
  • onCreateView()::产生新的Fragment时呼叫,此周期用於定义Layout
  • onActivityCreated():在onCreateView()後呼叫,此时Fragment与Activity已建立关联
  • onDestroyView():当画面移除与 Fragment相关联的 Layout时呼叫。
  • onDetach():当Activity与Fragment 解除关联时呼叫。

日志(log)

Log等级详细度:Verbose>Debug>Info>Warm>Error>Assert,除Assert的方法为Log.wtf()外,其他的方法皆为等级英文缩写,如Debug的方法为Lod.d()

Log方法有两个参数,分别为Tag与Massage

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
				//建立Warm等级的Log
				Log.w("MainActivity","onCreate")
    }
}

可在Android Studio下方的[Logcat]看到已纪录的Log。

建立Fragment

  1. File → New → Kotlin File/class,输入档名後,会得到一个空白的类别档案
  2. 撰写该类别档案使其继承Fragment
class FirstFragment : Fragment(){
    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        //定义Fragment画面
        return super.onCreateView(inflater, container, savedInstanceState)
    }

    override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
        //主程序写下方
    }
}

滑动页面(ViewPager)

使用者可透过左右滑动的手势来切换页面,必须搭配对应的PagerAdapter类别来实现滑动页面的功能。


<<:  [Day 5] lock-free stack

>>:  5.unity图片分割(Slice Sprite)、tile绘制技巧

Day_26 vsftpd

今天介绍另外一个古老的文件技术FTP(File Transfer Protocol)。建立一个档案s...

到底是什麽意思?static 静态方法

记得第一份工作时候,有个同事一直在那边嚷嚷静态方法比非静态效率高,偶而喊喊抽象化思考很重要,我当时心...

Day 06 CSS <复合选择器>

CSS的选择器分为基础选择器以及复合选择器 本日将将继续说明复合选择器 复合选择器可以更准确更高效的...

Angular建立专案(三)(Day18)

还记得我们昨天说到的主程序区块吗 ? 让我们把app资料夹打开来,可以看到里面的内容物长这样。 接着...

EP14 - 调整架构 EC2 与负载平衡器

昨天我们很有胆试的将 VPC 砍掉重建, 为的就是将网段重新安排, 但是还没处理好的部分, 则是 G...