日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android笔记之FragmentTabHost实现选项卡

發(fā)布時(shí)間:2025/4/16 Android 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android笔记之FragmentTabHost实现选项卡 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

FragmentTabHost

API:http://developer.android.com/reference/android/support/v4/app/FragmentTabHost.html

1、main.xml文件

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><FrameLayoutandroid:id="@+id/realtabcontent"android:layout_width="fill_parent"android:layout_height="0dip"android:layout_weight="1" /><!-- tabhost裝載5個(gè)tab的容器 --><android.support.v4.app.FragmentTabHostandroid:id="@android:id/tabhost"android:layout_width="fill_parent"android:layout_height="wrap_content" ><FrameLayoutandroid:id="@android:id/tabcontent"android:layout_width="0dp"android:layout_height="0dp"android:layout_weight="0" /></android.support.v4.app.FragmentTabHost></LinearLayout>

2、FragmentActivity中使用fragmenttabhost

(1)TabSpec的實(shí)例化:TabSpec tabSpec = mTabHost.newTabSpec(String tag).setIndicator(.....);

  • setIndicator(View view); ? //Specify a view as the tab indicator.
setIndicator(getTabItemView()) private View getTabItemView(int index){View view = layoutInflater.inflate(R.layout.tab_item_view, null);ImageView imageView = (ImageView) view.findViewById(R.id.imageview);imageView.setImageResource(R.drawable.tab_home_btn);TextView textView = (TextView) view.findViewById(R.id.textview); textView.setText("首頁");return view;}
  • setIndicator(CharSequence label, Drawable icon)? //Specify a label and icon as the tab indicator. label即為選項(xiàng)卡的顯示的文本
setIndicator("Android",getResources().getDrawable(R.drawable.icon_home_nor));
  • setIndicator( CharSequence label)? //Specify a label as the tab indicator.
setIndicator("設(shè)置")

主要代碼:

import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentTabHost;/*** This demonstrates how you can implement switching between the tabs of a* TabHost through fragments, using FragmentTabHost.*/ public class MainActivity extends FragmentActivity {private FragmentTabHost mTabHost;
@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);mTabHost.addTab(mTabHost.newTabSpec("首頁").setIndicator("Simple"),fragment_1.class, null);mTabHost.addTab(mTabHost.newTabSpec("分類").setIndicator("Contacts"),fragment_1.class, null);mTabHost.addTab(mTabHost.newTabSpec("排行").setIndicator("Custom"),fragment_1.class, null);mTabHost.addTab(mTabHost.newTabSpec("熱門").setIndicator("Throttle"),fragment_1.class, null);mTabHost.addTab(mTabHost.newTabSpec("設(shè)置").setIndicator("Throttle"),fragment_1.class, null);} } fragment_X.class的代碼 import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup;public class fragment_1 extends Fragment {@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {View v = inflater.inflate(R.layout.fragment_1, container, false);return v;} }

3、fragment下使用fragmentabhost

?(1)fragment_1本身不需要布局文件

(2)選項(xiàng)卡默認(rèn)在頂部

import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTabHost;public class fragment_1 extends Fragment {private FragmentTabHost mTabHost;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {mTabHost = new FragmentTabHost(getActivity());mTabHost.setup(getActivity(), getChildFragmentManager(), R.layout.fragment1/59);mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"),subfragment_1.class, null);mTabHost.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"),subfragment_1.class, null);mTabHost.addTab(mTabHost.newTabSpec("custom").setIndicator("Custom"),subfragment_1.class, null);return mTabHost;}@Overridepublic void onDestroyView() {super.onDestroyView();mTabHost = null;} }

?

?

4、其他函數(shù)

mTabHost.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.selector_tab_background);

Done!

?

?

?

?

?

?

?

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/xingyyy/p/3322011.html

總結(jié)

以上是生活随笔為你收集整理的Android笔记之FragmentTabHost实现选项卡的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。