(1) 标签切换界面
一.代码部分
1.最简单:FragmentTabHost + Fragment
http://download.csdn.net/detail/mountain3th/7630123
2.略复杂:TabHost + Fragment
http://download.csdn.net/detail/mountain3th/7630383
3.变形:Button + Fragment
http://download.csdn.net/detail/mountain3th/7630181
4.升级版:加入ViewPager使能够横向滑动与切换
http://download.csdn.net/detail/mountain3th/7630189
5.重用版:继承FragmentTabActivity并实现抽象方法即可
二.使用分析
1.如果Fragment用来显示或者简单交互的话用第一种代码最少,最简单,但不能有Fragment的数据初始化,因为其自动调用Fragment的空构造方法
2.如果Fragment要通过其他数据初始化则使用第二种或者第三种通过replaceFragment实现跳转
3.如果要有左右滑动的功能加入viewpager
4.重用版只要实现几个抽象方法就可以搞定标签切换,大大节省代码编写时间。
三.布局技巧
1.经典布局
<android.support.v4.app.FragmentTabHost android:id="@+id/fragtab_tabhost_main" android:layout_width="match_parent" android:layout_height="wrap_content" /> <FrameLayout android:id="@+id/frame_container_main" android:layout_width="match_parent" android:layout_height="match_parent" />2.滑动布局
<android.support.v4.app.FragmentTabHost android:id="@+id/fragtab_tabhost_main" android:layout_width="match_parent" android:layout_height="wrap_content" > <FrameLayout android:id="@+id/frame_container_main" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="0" /> </android.support.v4.app.FragmentTabHost> <android.support.v4.view.ViewPager android:id="@+id/vp_scroll_latestlist" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" />
3.另外有一个奇特的发现,Fragment布局中如果父控件布局为RelativeLayout,则该布局内的EditText会保持之前的状态。