您好,登錄后才能下訂單哦!
近期剛學了Fragment,突然想在Fragment中實現TabHost,查閱相關資料后發現現在TabHost已經被FragmentTabHost替代了,因此就想著學習一下,并記錄下來,接下來把一些心得分享一下。
一、使用場景
首先FragmentTabHost不僅可以在FragmentActivity中使用,也可以在Fragment中使用,通過與Fragment的結合實現TabHost的效果
二、使用步驟
1、布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v4.app.FragmentTabHost
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:orientation="horizontal" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="0" />
<FrameLayout
android:id="@+id/realtabcontent"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
</android.support.v4.app.FragmentTabHost>
</RelativeLayout>
2、代碼:
1)繼承FragmentActivity——OnCreate()中:
FragmentTabHost fragmentTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost);
fragmentTabHost.setup(this, getFragmentManager(), R.id.realtabcontent);
fragmentTabHost.addTab(fragmentTabHost.newTabSpec("tab1").setIndicator("我的意 見"), SettingFragment.class, null);
fragmentTabHost.addTab(fragmentTabHost.newTabSpec("tab2").setIndicator("常見問 題"), NotificationFragment.class, null);
2)繼承Fragment——OnCreateView()中:
View layout = inflater.inflate(R.layout.fragment_sliding_feedback, null);
FragmentTabHost fragmentTabHost = (FragmentTabHost)layout.findViewById(android.R.id.tabhost);
fragmentTabHost.setup(this, getChildFragmentManager(), R.id.realtabcontent);
fragmentTabHost.addTab(fragmentTabHost.newTabSpec("tab1").setIndicator("我的意 見"), SettingFragment.class, null);
fragmentTabHost.addTab(fragmentTabHost.newTabSpec("tab2").setIndicator("常見問 題"), NotificationFragment.class, null);
return layout;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。