欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

FragmentTabHost使用方法詳解

FragmentTabHost是support-v包下提供的用于集成和管理Fragment頁面的組件.

為山東等地區(qū)用戶提供了全套網頁設計制作服務,及山東網站建設行業(yè)解決方案。主營業(yè)務為做網站、成都做網站、山東網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

今天要實現的效果圖如下:

FragmentTabHost使用方法詳解

整體結構是MainActivity+5個模塊的Fragment.

MainActivity的布局如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
 <!--真正的內容視圖,用于展示Fragment-->
 <FrameLayout
  android:id="@+id/real_tabcontent"
  android:layout_width="match_parent"
  android:layout_height="0dp"
  android:layout_weight="1"/>

 <!--tabhost,必須使用系統(tǒng)的id-->
 <android.support.v4.app.FragmentTabHost
  android:id="@android:id/tabhost"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  >
  <!--tabcontent,必須使用系統(tǒng)的id-->
  <FrameLayout
   android:id="@android:id/tabcontent"
   android:layout_width="0dp"
   android:layout_height="0dp"
   android:layout_weight="0"/>
 </android.support.v4.app.FragmentTabHost>

</LinearLayout>

每個tab的布局如下:

<?xml version="1.0" encoding="utf-8"?>
<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">
 <!--tab圖片-->
 <ImageView
  android:id="@+id/iv_tab"
  android:layout_width="26dp"
  android:layout_height="26dp"
  />
 <!--tab名字-->
 <TextView
  android:id="@+id/tv_tab"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_marginTop="1dp"
  android:textSize="12sp"/>
</LinearLayout>

MainActivity代碼如下:

package blog.csdn.net.mchenys.bsbdj.modul.main;

import android.content.res.ColorStateList;
import android.os.Bundle;
import android.support.v4.app.FragmentTabHost;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.TabHost;
import android.widget.TextView;

import blog.csdn.net.mchenys.bsbdj.R;
import blog.csdn.net.mchenys.bsbdj.common.base.BaseActivity;
import blog.csdn.net.mchenys.bsbdj.modul.attention.view.AttentionFragment;
import blog.csdn.net.mchenys.bsbdj.modul.essence.view.EssenceFragment;
import blog.csdn.net.mchenys.bsbdj.modul.mine.view.MineFragment;
import blog.csdn.net.mchenys.bsbdj.modul.newpost.view.NewpostFragment;
import blog.csdn.net.mchenys.bsbdj.modul.publish.view.PublishFragment;
import blog.csdn.net.mchenys.bsbdj.mvp.presenter.impl.MvpBasePresenter;
/**
 * Created by mChenys on 2016/5/27.
 */
public class MainActivity extends BaseActivity {

 //定義數組來存放tab的圖片選擇器
 private int[] mTabImage = {R.drawable.main_bottom_essence_selector,
   R.drawable.main_bottom_latest_selector,
   R.drawable.main_bottom_writeposts_selector,
   R.drawable.main_bottom_news_selector,
   R.drawable.main_bottom_my_selector};

 //tab選項卡的文字
 private String[] mTabTitle = {"精華", "新帖", "", "關注", "我的"};

 //每個tab對應的Fragment的字節(jié)碼對象
 private Class[] fragmentArray = {EssenceFragment.class, NewpostFragment.class,
   PublishFragment.class, AttentionFragment.class, MineFragment.class};

 @Override
 protected boolean isHomePage() {
  return true;
 }

 @Override
 public Integer getLayoutResId() {
  return R.layout.activity_main;
 }

 @Override
 public void initView() {
  //獲取tabhost
  FragmentTabHost tabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
  //綁定tabContent
  tabHost.setup(this, getSupportFragmentManager(), R.id.real_tabcontent);
  //去掉分割線
  tabHost.getTabWidget().setDividerDrawable(null);
  for (int i = 0; i < fragmentArray.length; i++) {
   //綁定Fragment,添加到的FragmentTabHost
   //設置tab的名稱和view
   TabHost.TabSpec tabSpec = tabHost.
     newTabSpec(mTabTitle[i]).
     setIndicator(getTabItemView(i));
   Bundle bundle = new Bundle();
   bundle.putString("title", mTabTitle[i]);
   //添加tab和關聯(lián)對應的fragment
   tabHost.addTab(tabSpec, fragmentArray[i], bundle);
   //設置tab的背景色
   tabHost.getTabWidget().
     getChildAt(i).
     setBackgroundColor(getResources().getColor(R.color.bgColor));
  }
  //默認選中第一個tab
  tabHost.setCurrentTab(0);
  //設置tab的切換監(jiān)聽
  tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
   @Override
   public void onTabChanged(String tabId) {
    //可以在這里監(jiān)聽tab的切換
   }
  });
 }

 //tab的字體選擇器
 ColorStateList mColorStateList;

 /**
  * 給Tab按鈕設置圖標和文字
  */
 private View getTabItemView(int index) {
  View view = getLayoutInflater().inflate(R.layout.view_tab_indicator, null);
  ImageView imageView = (ImageView) view.findViewById(R.id.iv_tab);
  TextView textView = (TextView) view.findViewById(R.id.tv_tab);
  //設置圖片選擇器
  imageView.setImageResource(mTabImage[index]);
  //設置字體選擇器
  if (mColorStateList == null) {
   mColorStateList = getResources().
     getColorStateList(R.color.main_bottom_text_selector);
   textView.setTextColor(mColorStateList);
  }
  //設置tab的文字
  if (TextUtils.isEmpty(mTabTitle[index])) {
   //如果沒有名稱,則隱藏tab下的textView
   textView.setVisibility(View.GONE);
  } else {
   textView.setVisibility(View.VISIBLE);
   textView.setText(mTabTitle[index]);
  }
  return view;
 }


 @Override
 public void initListener() {

 }

 @Override
 public void initData() {

 }

 @Override
 public void reLoadData() {

 }

 @Override
 public void onClick(View v) {

 }

 @Override
 public MvpBasePresenter bindPresenter() {
  return null;
 }
}

最后附上字體選擇器

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:state_selected="false" android:color="@color/main_bottom_text_normal" />
 <item android:state_selected="true" android:color="@color/main_bottom_text_select" />
</selector>

圖片選擇器有5個,這里附上一個,其他類似:

<?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/main_bottom_essence_normal" />
 <item android:state_selected="true" android:drawable="@drawable/main_bottom_essence_press" />
</selector>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

分享名稱:FragmentTabHost使用方法詳解
URL標題:http://aaarwkj.com/article6/pdiiig.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供品牌網站建設、網站改版網站收錄、網站營銷外貿建站虛擬主機

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網站建設
国产看片色网站亚洲av| 久久精品91久久久| 中文字幕有码精品在线| 亚洲精品成人免费电影| 中文字幕乱码高清免费| 国产一区二区精品久久岳√| 久久激情日本人妻av免费| 免费毛片一区二区三区四区| 丰满人妻被黑人猛烈进入| 一区二区三区国产不卡| 国产在线视频不卡福利片| 亚洲成人免费在线播放| 五月天色婷婷亚洲综合一区| av久久精品在线观看| 特级特色生活片免费看| 粗长挺进新婚人妻诗岚| 国产裸体无遮挡免费精品| 久久久久久精品国产免费 | 日本免费一区二区三区手机在线| 国产黄色免费精品网站| 亚洲av乱码一区二区三四五六七| 91在线直播观看高清| 久热精品视频在线观看| av剧情网址在线观看| 九九在线视频免费观看精品视频 | av国产一区二区在线| 亚洲精品一区二区99| 青青久久精品国产亚洲av| 91亚洲精品久久久蜜桃网站| 国产日韩欧美在线精品| 精品蜜臀国产av一区二区| 日韩特级黄片在线免费观看| 亚洲国产日韩欧美一级| 日本丰满熟女毛茸茸的黑逼| 丁香婷婷激情五月天综合| 亚洲黄色av网站在线| 亚洲天堂国产中文在线| 日本欧美二区在线看| 亚洲国产成人欧美日韩另类| 久久精品无人区乱码一区二区| 久久91亚洲精品久久91|