android FragmentTabhost實現(xiàn)導(dǎo)航分頁
本文實例為大家分享了android FragmentTabhost導(dǎo)航分頁展示的具體代碼,供大家參考,具體內(nèi)容如下
基本模板
public class MainActivity extends FragmentActivity { private FragmentTabHost mTabHost; private LayoutInflater mLayoutInflater; private Class mFragmentArray[] = { Fragment1.class, Fragment2.class, Fragment3.class, Fragment4.class, Fragment5.class }; private int mImageArray[] = { R.drawable.tab_home_btn, R.drawable.tab_message_btn, R.drawable.tab_selfinfo_btn, R.drawable.tab_square_btn, R.drawable.tab_more_btn }; private String mTextArray[] = { "首頁", "消息", "好友", "搜索", "更多" }; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { mLayoutInflater = LayoutInflater.from(this); // 找到TabHost mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost); mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent); mTabHost.getTabWidget().setDividerDrawable(null);//去除分割線 // 得到fragment的個數(shù) for (int i = 0; i < mFragmentArray.length; i++) { // 給每個Tab按鈕設(shè)置圖標、文字和內(nèi)容 TabSpec tabSpec = mTabHost.newTabSpec(mTextArray[i]) .setIndicator(getTabItemView(i)); // 將Tab按鈕添加進Tab選項卡中 mTabHost.addTab(tabSpec, mFragmentArray[i], null); // 設(shè)置Tab按鈕的背景 mTabHost.getTabWidget().getChildAt(i) .setBackgroundResource(R.drawable.selector_tab_background); } } //給每個Tab按鈕設(shè)置圖標和文字 private View getTabItemView(int index) { View view = mLayoutInflater.inflate(R.layout.tab_item_view, null); ImageView imageView = view.findViewById(R.id.imageview); //設(shè)置圖片選擇器,選中的tab改變圖標 switch (index){ case 0:imageView.setImageResource(R.drawable.main_bottom_image_selector);break; case 1:imageView.setImageResource(R.drawable.main_bottom_image_selector2);break; case 2:imageView.setImageResource(R.drawable.main_bottom_image_selector3);break; case 3:imageView.setImageResource(R.drawable.main_bottom_image_selector4);break; case 4:imageView.setImageResource(R.drawable.main_bottom_image_selector5);break; } TextView textView = view.findViewById(R.id.textview); textView.setText(mTextArray[index]); //設(shè)置文本選擇器,選中的tab文字高亮 textView.setTextColor(R.drawable.main_bottom_text_selector); return view; } }
acitivity_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" > <FrameLayout android:id="@+id/realtabcontent" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" /> <android.support.v4.app.FragmentTabHost android:id="@android:id/tabhost" //必須使用提供的id android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/bg_tabhost_bg"> <FrameLayout android:id="@android:id/tabcontent" //必須使用提供的id android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="0" /> </android.support.v4.app.FragmentTabHost> </LinearLayout>
tab_item_view.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="vertical"> <ImageView android:id="@+id/imageview" android:layout_width="40dp" android:layout_height="40dp" android:layout_margin="3dp" /> <TextView android:id="@+id/textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="1dp" android:textSize="12sp" android:layout_marginBottom="2dp"/> </LinearLayout>
main_bottom_image_selector圖片選擇器
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="false" android:drawable="@drawable/ic_launcher" /> <item android:state_selected="true" android:drawable="@drawable/ic_launcher_round" /> </selector>
注:模板有5個tab,需要5個圖片選擇器,還需要5個文本選擇器,還需要創(chuàng)建5個fragment。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
AndroidStudio Gradle第三依賴統(tǒng)一管理的實現(xiàn)方法
這篇文章主要介紹了AndroidStudio Gradle第三依賴統(tǒng)一管理的實現(xiàn)方法,需要的朋友可以參考下2017-09-09android開發(fā)教程之ubuntu使用adb連接小米2的步驟和adb調(diào)試方法
這篇文章主要介紹了ubuntu中使用adb連接小米2的步驟和adb調(diào)試方法,需要的朋友可以參考下2014-02-02詳解Android_性能優(yōu)化之ViewPager加載成百上千高清大圖oom解決方案
這篇文章主要介紹了詳解Android_性能優(yōu)化之ViewPager加載成百上千高清大圖oom解決方案,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2016-12-12Android使用Kotlin和RxJava 2.×實現(xiàn)短信驗證碼倒計時效果
本篇文章主要介紹了Android使用Kotlin和RxJava 2.×實現(xiàn)短信驗證碼倒計時效果,非常具有實用價值,需要的朋友可以參考下2017-12-12Android應(yīng)用創(chuàng)建多個快捷方式
本文主要介紹Android 生成多個快捷方式,這里提供代碼實例,詳細講解生成多個快捷方式的實現(xiàn)方法,有需要的朋友可以參考下2016-07-07