FragmentTabHost簡單小例子

fydxdk 9年前發布 | 1K 次閱讀 Java Android

Tab頁面的布局R.layout.tabhost_layout:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&quot; xmlns:tools="http://schemas.android.com/tools&quot; android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >

<FrameLayout
    android:id="@+id/tab_center_fl"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1" >
</FrameLayout>

<android.support.v4.app.FragmentTabHost
    android:id="@+id/tabhost"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#ff00ff" >

    <TabHost
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </TabHost>

    <FrameLayout
        android:id="@+id/tab_content_fl"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </FrameLayout>
</android.support.v4.app.FragmentTabHost>

</LinearLayout>

界面代碼:

public class TabhostActivity extends FragmentActivity { private FragmentTabHost mFragmentTabHost; @SuppressWarnings("rawtypes") private Class fragmentArray[] = { FragmentTabOne.class, FragmentTabTwo.class, FragmentTabThree.class, }; private String titleArray[] = { "Tab_One", "Tab_Two", "Tab_Three" };

@Override protected void onCreate(Bundle bundle) { // TODO Auto-generated method stub super.onCreate(bundle); setContentView(R.layout.tabhost_layout); intViews(); initTabHost(); }

private void intViews() { mFragmentTabHost = (FragmentTabHost) findViewById(R.id.tabhost); }

private void initTabHost() { mFragmentTabHost.setup(this, getSupportFragmentManager(), R.id.tab_content_fl); mFragmentTabHost.getTabWidget().setDividerDrawable(null);

int count = fragmentArray.length;

for (int i = 0; i < count; i++) { TabHost.TabSpec tabSpec = mFragmentTabHost.newTabSpec(titleArray[i]).setIndicator(getTabBottomView(i)); mFragmentTabHost.addTab(tabSpec, fragmentArray[i], null); mFragmentTabHost.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.tab_bg); } }

private View getTabBottomView(int index) { LayoutInflater layoutInflater = LayoutInflater.from(this); View view = layoutInflater.inflate(R.layout.tab_bottom_layout, null);//布局很簡單,就是一id為bottom_tv的TextView TextView textView = (TextView) view.findViewById(R.id.bottom_tv); textView.setText(titleArray[index]); return view; } }</pre>

 本文由用戶 fydxdk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!