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

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)

營銷型網站建設
2023国产精品一区| 国产一区二区高清不卡| 日本韩国三级理伦久久久| 亚洲视频免费在线一区| 欧美日韩一区二区三区大片| 久久国产高清亚洲电影| 日韩不卡的一区免费视频| 欧美精品日韩中文字幕在| 亚洲香蕉一级视频在线播放| 日本高清不卡免费在线观看视频一二三区 | 成人中文字幕av电影| 亚洲综合久久国产一区二区| 国产亚洲高清国产拍精品| 久久中文字幕日韩精品| 国产精品美女露脸av毛片 | 欧美性生活之欧美日韩| 久久精品亚洲av三区麻豆| 国产一区二区三区百合| 亚洲综合日韩丝袜人妻| 婷婷国产综合一区二区三区| 欧美亚洲精品二区久久久| 在线看黄视频网站永久免费| 亚洲av日韩精品久久久| 国产无人区码一区二区| 国产一区二区精品久久久女同| 国产亚洲欧美精品久久久久久| 久久成人日韩电影午夜| 国产成人亚洲一区二区三区| 亚洲毛片免费视频久久| 亚洲精品熟女一区二区三区 | 這裏隻有无码人妻久久| 日韩美女搞黄色的网站| 欧美看黄网站在线观看| 麻豆国产av巨做国产剧情| 国产三级传媒在线观看| 亚洲欧洲久久激情久av| 青草草在线观看视频| 四虎永久播放地址免费| 国产精品一级性生活片| 日本人妻精品一区二区| 精品熟女少妇av免费久久野外|