(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并实现抽象方法即可

http://download.csdn.net/detail/mountain3th/7630355

 

二.使用分析

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会保持之前的状态。

posted on 2014-07-13 22:19  mountainking  阅读(443)  评论(0编辑  收藏  举报