android layout

58
https://goo.gl/T7CFJ5

Upload: kirill-kulakov

Post on 19-Jan-2017

72 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Android layout

https://goo.gl/T7CFJ5

Page 2: Android layout

Before we begin

Page 3: Android layout
Page 4: Android layout

LayoutsViews ,Layouts ,Tools and everything in between

Page 5: Android layout

View

● Knows it dimensions● Able to draw itself● Handles input from the user

What are its responsibilities?

Page 6: Android layout

Let’s look at some examples

ImageView

Hello World!

TextView Button

Also known as widgets

Page 7: Android layout

Hello!● textSize● textColor● Ellipsize● Style (bold, italid)● Change font in code*

Page 8: Android layout

scaleType: CENTER, CENTER_CROP, CENTER_INSIDE, FIT_CENTERFIT_XY

Page 9: Android layout

Click meDont use onClick=”method”

Page 10: Android layout

ViewGroup?

A view that hold onto other views

View extends ViewGroup

Page 11: Android layout

LinearLayout

RelativeLayout

Hello World!FrameLayout

RecyclerView

● TableLayout● ScrollView● ViewPager● GridLayout

Page 12: Android layout

SetupCreate the project

Page 13: Android layout
Page 14: Android layout

Our Layout goes here

Page 15: Android layout

wrap_content

BALL_RED.PNG

Page 16: Android layout

match_parent

Page 17: Android layout

absoluteDP

Page 18: Android layout

Dimensions in android

● PX - pixels● DP - density independent pixel● SP - scale independent pixels

Page 19: Android layout

LinearLayoutThe one you will use the most

Page 20: Android layout

LinearLayout - basic example

Page 21: Android layout

LinearLayout orientation

Page 22: Android layout

LinearLayout - gravity

Page 23: Android layout

LinearLayout - layout_gravity

Page 24: Android layout

LinearLayout - weight

Page 25: Android layout

Margin

Page 26: Android layout

Padding

Page 27: Android layout

Padding + Margin

Page 28: Android layout

LinearLayout - match reset trick

Page 29: Android layout

LinearLayout - common mistake #1

?

Page 30: Android layout

Linear Layout - common mistake #2

Use TableLayout - not nested weight GridLayout

Page 31: Android layout

TextView and ImageView

Page 32: Android layout

TOOLS<>

Page 33: Android layout

Debugging a Layout

Purple = margin

NO COLOR = PADDING

Page 34: Android layout

LinearLayout

1 2 3

LinearLayout

123

Debugging a Layout

Page 35: Android layout

Padding of the parent

Margin of the child

Debugging a Layout ...

Page 36: Android layout

Debugging a Layout

Hierarchy Viewer

● Works on emulator out of the box● Android Device Monitor

Page 37: Android layout

Measure Layout Draw

Page 38: Android layout
Page 39: Android layout

FrameLayoutOverlapping views

Page 40: Android layout

FrameLayout

Page 41: Android layout

FrameLayout - Drawing order

1

2

3OPPOSITE

Page 42: Android layout

RelativeLayout

● Hard to understand● Cyclic dependency● Unexpected results*● Inefficient*

Page 43: Android layout

ReusingAvoid code duplication

Page 44: Android layout
Page 45: Android layout
Page 46: Android layout

<include>

What is wrong?

Page 47: Android layout
Page 48: Android layout

<merge>

Page 49: Android layout

Custom Viewcreate our own component

Page 50: Android layout
Page 51: Android layout
Page 52: Android layout

*

Page 53: Android layout

*

Page 54: Android layout

Much more sophisticated logic goes here

Page 55: Android layout

<Merge>

What is wrong?

Page 56: Android layout

NOTES

Page 57: Android layout

Questions

Page 58: Android layout

https://goo.gl/T7CFJ5