6. Building a Dynamic UI with Fragmentsminhaenl/class/android_class/6. Building a Dynamic U… ·...

12
6. Building a Dynamic UI with Fragments

Transcript of 6. Building a Dynamic UI with Fragmentsminhaenl/class/android_class/6. Building a Dynamic U… ·...

Page 1: 6. Building a Dynamic UI with Fragmentsminhaenl/class/android_class/6. Building a Dynamic U… · android android android android os . Bundle, support v4.app. Fragment; view. Layoutlnflater

6. Building a Dynamic UI with Fragments

Page 2: 6. Building a Dynamic UI with Fragmentsminhaenl/class/android_class/6. Building a Dynamic U… · android android android android os . Bundle, support v4.app. Fragment; view. Layoutlnflater

Building Flexible UI

Page 3: 6. Building a Dynamic UI with Fragmentsminhaenl/class/android_class/6. Building a Dynamic U… · android android android android os . Bundle, support v4.app. Fragment; view. Layoutlnflater

Fragment

• Hasitsownlifecycle• Receiveitsowninput• Addorremovewhileac8vityrunning• APPlevel11>recommended

Page 4: 6. Building a Dynamic UI with Fragmentsminhaenl/class/android_class/6. Building a Dynamic U… · android android android android os . Bundle, support v4.app. Fragment; view. Layoutlnflater

Creating a Fragment

• Createclassextends“Fragment”• Mustuse“onCreateView()”•  Fragmentalsoreceivessamelifecyclecallbackfunc8on

•  E.g.pause()or..

Page 5: 6. Building a Dynamic UI with Fragmentsminhaenl/class/android_class/6. Building a Dynamic U… · android android android android os . Bundle, support v4.app. Fragment; view. Layoutlnflater

Creating a Fragment

Page 6: 6. Building a Dynamic UI with Fragmentsminhaenl/class/android_class/6. Building a Dynamic U… · android android android android os . Bundle, support v4.app. Fragment; view. Layoutlnflater

Building a Flexible UI

• Wecandesigndifferentlayoutbasedondevicesize

Page 7: 6. Building a Dynamic UI with Fragmentsminhaenl/class/android_class/6. Building a Dynamic U… · android android android android os . Bundle, support v4.app. Fragment; view. Layoutlnflater

Building Flexible UI

MyFragmentAc8vity Ar8cleFragmentHeadlineFragment

Page 8: 6. Building a Dynamic UI with Fragmentsminhaenl/class/android_class/6. Building a Dynamic U… · android android android android os . Bundle, support v4.app. Fragment; view. Layoutlnflater

Building a Flexible UI

new_ar8cles.xml

ar8cle_view.xml

Page 9: 6. Building a Dynamic UI with Fragmentsminhaenl/class/android_class/6. Building a Dynamic U… · android android android android os . Bundle, support v4.app. Fragment; view. Layoutlnflater

How to add fragment (see MyFragmentActivity.java)

Page 10: 6. Building a Dynamic UI with Fragmentsminhaenl/class/android_class/6. Building a Dynamic U… · android android android android os . Bundle, support v4.app. Fragment; view. Layoutlnflater

Communicating with other fragments HeadlineFragment.java

MyFragmentAc8vity.java

Page 11: 6. Building a Dynamic UI with Fragmentsminhaenl/class/android_class/6. Building a Dynamic U… · android android android android os . Bundle, support v4.app. Fragment; view. Layoutlnflater

Let’s run a demo

• hOp://developer.android.com/shareables/training/FragmentBasics.zip

• hOp://ics.uci.edu/~minhaenl/class/android_class/MyExercise_fragment.zip

Page 12: 6. Building a Dynamic UI with Fragmentsminhaenl/class/android_class/6. Building a Dynamic U… · android android android android os . Bundle, support v4.app. Fragment; view. Layoutlnflater

References

• hOps://developer.android.com/intl/ko/training/basics/fragments/index.html