FragmentTabHost 使用;

来源:互联网 发布:怎么在淘宝上开店铺步骤 编辑:程序博客网 时间:2024/06/11 15:28

<pre name="code" class="html"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context="com.dzq.lxq.manager.ui.MainActivity" >    <FrameLayout        android:id="@+id/fmlay_container"        android:layout_width="match_parent"        android:layout_height="0dip"        android:layout_weight="1" />    <android.support.v4.app.FragmentTabHost        android:id="@+id/tabhost"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:background="@drawable/ic_bottom_tab_bg" >    </android.support.v4.app.FragmentTabHost></LinearLayout>

<pre name="code" class="java">public class MainActivity extends BaseFragmentActivity {// 定义FragmentTabHost对象private FragmentTabHost mTabHost;// 定义数组来存放Fragment界面private Class fragmentArray[] = { Main_Home_Fragment.class,Main_Data_Fragment.class, Main_Message_Fragment.class,Main_My_Fragment.class };// 定义数组来存放按钮图片private int mImageViewArray[] = { R.drawable.tab_main_bottom_home_btn,R.drawable.tab_main_bottom_data_btn,R.drawable.tab_main_bottom_message_btn,R.drawable.tab_main_bottom_my_btn };// Tab选项卡的文字private String mTextviewArray[] = { "首页", "数据", "消息", "我的" };@Overridepublic void setContext() {setContentView(R.layout.activity_main);}@Overridepublic void initTopBar() {View view = initActionBar(R.layout.common_title_one_txt);TextView tv_title = (TextView) view.findViewById(R.id.common_title);tv_title.setText("首页");TextView common_left_one = (TextView) view.findViewById(R.id.common_left_one);common_left_one.setText("添加店铺");common_left_one.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Fragment mCurrentFragment = getCurrentFragment();if (mCurrentFragment instanceof MenuRightBtnOnClick) {((MenuRightBtnOnClick) mCurrentFragment).OnClick();}}});}@Overridepublic void findBiyid() {// 实例化TabHost对象,得到TabHostmTabHost = (FragmentTabHost) findViewById(R.id.tabhost);mTabHost.setup(this, getSupportFragmentManager(), R.id.fmlay_container);if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {mTabHost.getTabWidget().setDividerDrawable(R.color.transparent);}// 得到fragment的个数int len = fragmentArray.length;for (int i = 0; i < len; i++) {// 为每一个Tab按钮设置图标、文字和内容TabSpec tabSpec = mTabHost.newTabSpec(mTextviewArray[i]).setIndicator(getTabItemView(i));// 将Tab按钮添加进Tab选项卡中mTabHost.addTab(tabSpec, fragmentArray[i], null);// 设置Tab按钮的背景mTabHost.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.common_btn_sel);}}@Overridepublic void setListener() {}@Overridepublic void setData() {}private Fragment getCurrentFragment() {return getSupportFragmentManager().findFragmentById(R.id.fmlay_container);}/** * 给Tab按钮设置图标和文字 */private View getTabItemView(int index) {View view = mInflater.inflate(R.layout.main_bottom_tab_item, null);// ImageView imageView = (ImageView) view.findViewById(R.id.iv_pic);// imageView.setImageResource(mImageViewArray[index]);TextView textView = (TextView) view.findViewById(R.id.tv_title);textView.setText(mTextviewArray[index]);textView.setCompoundDrawablesWithIntrinsicBounds(0,mImageViewArray[index], 0, 0);return view;}

最后效果


0 0