Android almost same code to fit different layout -
(first of i'm sorry poor english...)
as title, know following layout(s) match different screen:
res/layout/main_activity.xml handsets (smaller 600dp available width) res/layout-sw600dp/main_activity.xml 7” tablets (600dp wide , bigger) res/layout-sw720dp/main_activity.xml 10” tablets (720dp wide , bigger) in app, i'm using viewpageradapter manage contents.
i got 3 page flow phone device :

and of course, user can see 1 page @ same time.
now, set bit different layout 7" tablet :

i put webview left of layout, , make isolated viewpageradapter, stay visible time.
and 2 other page put @ right of layout, , make act viewpager (can slide left/right).
both version of layout use same code manage, can see, page flow have little different. must make few change archive target.
is possible ?
in order implement layout least possible effort, want use nested fragments: regardless of device using, each viewpager panel handled "smart" container fragment.
nested fragments description on "android developers"
the container fragment handles logic of fragments should loaded when view created, checking id of fragments/views present in loaded layout , creating/attaching fragments needed.
for instance on android phone layout first panel contain r.id.title, , not r.id.list identifier: container fragment can detect checking if findviewbyid(r.id.list) null , create title fragment (where on tablet result not null).
as can see, since correct layout file loaded automatically android, don't need implement logic :)
the task remains changing number of pages shown viewpager depending on geometry of screen (phone/tablet) might in activity's oncreate method.
keep in mind last step might tricky if orientation of app changes due device rotation.
hope helps
Comments
Post a Comment