Fragment
Before start ...
-
View
-
Activity
-
Window
What is Fragment ?
Activity child
-
An activity can manage several fragment
-
A fragment has it's lifecycle
-
Design for table
Create Fragment
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<fragment
class="com.oreilly.demo.android.contactviewer.DateTime"
android:id="@+id/date_time"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
@Override
public void onCreate(Bundle state) {
super.onCreate(state);
setContentView(R.layout.main);
}
Create Fragment
public class DateTime extends Fragment {
private String time;
public void onCreate(Bundle state) {
super.onCreate(state);
if (null == time) {
time = new SimpleDateFormat("d MMM yyyy HH:mm:ss")
.format(new Date());
}
}
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle b) {
View view = inflater.inflate(
R.layout.date_time,
container,
false); //!!! this is important
((TextView) view.findViewById(R.id.last_view_time))
.setText(time);
return view;
}
}
Life Cycle
-
It's own life cycle
-
OnCreate()
-
OnCreateView()
-
OnPause()
-
With Activity
-
BackStack
Fragment Manager
-
Manage fragment
-
Call getFragmentManager()
-
add, remove, commit
-
Transaction by tag
Fragment Transaction
-
Like change activity
-
store info with argument
-
get fragment by these argument
Support package
Android 3.0 start support fragment
Google provide support package in previous veriosn
On different device
<supports-screens
android:smallScreens="false"
android:normalScreens="false"
android:largeScreens="true"
android:xlargeScreens="true" />
Fragment
By zlsh80826
Fragment
- 423