1. 程式人生 > >接上篇部落格:TabHost

接上篇部落格:TabHost

正文

TabHost的實現分為兩種,一個是不繼承TabActivity,一個是繼承自TabActivity;當然了選用繼承自TabActivity的話就相對容易一些,下面來看看分別是怎樣來實現的吧。

方法一、定義tabhost:不用繼承TabActivity

1、佈局檔案:activity_main.xml

  1. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  2.     xmlns:tools="http://schemas.android.com/tools"
  3.     android:layout_width
    ="match_parent"
  4.     android:layout_height="match_parent"
  5.     android:orientation="vertical"
  6.     tools:context=".MainActivity">
  7.     <Button
  8.         android:id="@+id/button1"
  9.         android:layout_width="wrap_content"
  10.         android:layout_height="wrap_content"
  11.         android:text="Button"
    />
  12.      <TabHost
  13.         android:id="@+id/tabhost"
  14.         android:layout_width="match_parent"
  15.         android:layout_height="wrap_content">
  16.         <LinearLayout
  17.             android:layout_width="match_parent"
  18.             android:layout_height="match_parent"
  19.             android:orientation
    ="vertical">
  20.             <TabWidget
  21.                 android:id="@android:id/tabs"
  22.                 android:layout_width="match_parent"
  23.                 android:layout_height="wrap_content">
  24.             </TabWidget>
  25.             <FrameLayout
  26.                 android:id="@android:id/tabcontent"
  27.                 android:layout_width="match_parent"
  28.                 android:layout_height="match_parent">
  29.                 <!-- 第一個tab的佈局 -->
  30.                 <LinearLayout
  31.                     android:id="@+id/tab1"
  32.                     android:layout_width="match_parent"
  33.                     android:layout_height="match_parent">
  34.                     <TextView
  35.                         android:id="@+id/textView1"
  36.                         android:layout_width="wrap_content"
  37.                         android:layout_height="wrap_content"
  38.                         android:text="林炳東"/>
  39.                 </LinearLayout>
  40.                 <!-- 第二個tab的佈局 -->
  41.                 <LinearLayout
  42.                     android:id="@+id/tab2"
  43.                     android:layout_width="match_parent"
  44.                     android:layout_height="match_parent">
  45.                     <TextView
  46.                         android:id="@+id/textView2"
  47.                         android:layout_width="wrap_content"
  48.                         android:layout_height="wrap_content"
  49.                         android:text="張小媛"/>
  50.                 </LinearLayout>
  51.                 <!-- 第三個tab的佈局 -->
  52.                 <LinearLayout
  53.                     android:id="@+id/tab3"
  54.                     android:layout_width="match_parent"
  55.                     android:layout_height="match_parent">
  56.                     <TextView
  57.                         android:id="@+id/textView3"
  58.                         android:layout_width="wrap_content"
  59.                         android:layout_height="wrap_content"
  60.                         android:text="馬貝貝"/>
  61.                 </LinearLayout>
  62.             </FrameLayout>
  63.         </LinearLayout>
  64.     </TabHost>
  65. </LinearLayout>

2、Java程式碼

  1. publicclass MainActivity extends Activity {  
  2.     @Override
  3.     protectedvoid onCreate(Bundle savedInstanceState) {  
  4.         super.onCreate(savedInstanceState);  
  5.         setContentView(R.layout.activity_main);  
  6.         TabHost th=(TabHost)findViewById(R.id.tabhost);  
  7.         th.setup();            //初始化TabHost容器
  8.         //在TabHost建立標籤,然後設定:標題/圖示/標籤頁佈局
  9.         th.addTab(th.newTabSpec("tab1").setIndicator("標籤1",getResources().getDrawable(R.drawable.ic_launcher)).setContent(R.id.tab1));  
  10.         th.addTab(th.newTabSpec("tab2").setIndicator("標籤2",null).setContent(R.id.tab2));  
  11.         th.addTab(th.newTabSpec("tab3").setIndicator("標籤3",null).setContent(R.id.tab3));      
  12.        //上面的null可以為getResources().getDrawable(R.drawable.圖片名)設定圖示 
  13.     }  
  14. }  

效果圖:

方法二:Tab的內容分開:不用繼承TabActivity

1、第一個tab的XML佈局檔案,tab1.xml:

  1. <?xmlversion

    相關推薦

    部落TabHost

    正文 TabHost的實現分為兩種,一個是不繼承TabActivity,一個是繼承自TabActivity;當然了選用繼承自TabActivity的話就相對容易一些,下面來看看分別是怎樣來實現的吧。 方法一、定義tabhost:不用繼承TabActivity 1

    第一部落京東集團java研發實習面經

    注:今天在牛客網看了一位大牛的面經,也可以說是2018年的總結。深有感觸,再看看我的部落格簡直是浪費了部落格這個交流平臺,所以也準備追尋大牛的腳步,分享和記錄一些學習中學到的知識和心得。 大牛面經傳送門: https://www.nowcoder.com/discuss/137593?t

    第一部落對插入排序和歸併排序演算法時間複雜度的學習

        第一次寫部落格,心情難免有點忐忑,不過為了達到心中的小目標,儘可能的用有效率的方法去提升自己。廢話不多說,下面進入正題。    剛看了網易公開課裡的《麻省理工學院公開課:演算法導論》,受益頗深!國外學校的講課方式確實更有趣味和深度(或許因為在學校壓根沒聽進去過幾節課)

    第一部落極光推送以及自定義推送聲音

    極光註冊就不說了,首先配置App的build.grandle 在defaultConfig裡貼上一下內容appkey為我在極光註冊之後的Appkey 然後配置AndroidManifest  把下面這些資訊放在application裡面 <!--極光的-->

    部落對安卓爬蟲以及TextView更新的問題解釋

    只能在主執行緒更新ui,或者用handler傳輸。爬蟲是在另一個非同步執行緒進行,所以爬出來的資料對控制元件賦值就比較麻煩。這次使用了執行緒資料傳到runnable將資料傳到handler進行賦值。   結果圖: 原始碼: String word="軟體工程"; //

    第一 部落java從資料庫讀取資料,並寫入到excel表格中

      今天,組長分配了查詢資料庫記錄,並把這些記錄寫入到excel表格中,以前沒有嘗試過,借鑑了一些別人的程式碼,最終實現了功能,寫一篇部落格,總結一下這個過程。1.準備需要用到的jar包    1.jxl.jar     2.mysql-connector-java-5.1.

    zabbix nginx監控(部落

    接上一篇部落格 新增nginx監控 首先在server1上安裝nginx [[email protected] ~]# ls anaconda-ks.cfg nginx-1.8.0-1.el6.ngx.x86_64.rpm install.

    部落的第一部落

    我是誰 本人,來自江蘇鹽城,現目前數學系大三學生一枚,目前主要的任務是為考研做準備。外加有空時學習機器學習的知識,學習實現一些簡單演算法。 why 寫部落格 主要是為了學習一些技術,一些演算法,通過自己的理解表達出來,加以分享,從而來加深自己的理解。 其次通過寫技術部落格,來形成自己的知識框架

    一個大齡FPGA工程師在CSDN發的第一部落

    轉自微博:https://blog.csdn.net/kekechunmi/article/details/79571988 我做FPGA開發9年多了,算是一個大齡工程師了。期間接觸過一些專案管理和技術支援之類的工作,不知道為什麼,脫離研發做這些工作我總覺得不踏實,也許天生就適合死磕技術。就

    將OneDrive雲盤掛載到我的電腦!(1024快樂,明年我應該也可以過這個節日了!)

    今天對程式猿來說是個值得紀念的日子!祝程式設計師小哥哥小姐姐們今天可以早早下班,回家休息,Bug走開! 接上篇,將自己申請的5T雲盤掛載到我的電腦! 第一步:掛網下載Raidrive 附上鍊接: 官網下載的應該都是最新版的,我的電腦不知道什麼問題,對最新版的不感冒,所以我是下載的稍老一點的版本! 如果你們的

    部落之後,對數獨解析方式進行了優化更新。

    #include <stdio.h> #include <stdlib.h> #include <vector> #include <string> #include <map> using namespace std; void Pr

    搭建個人部落之 Github + hexo 如何在其他電腦更新部落

    歡迎點選參觀我的 ——> 個人學習網站 首先將原來電腦上的Hexo目錄下的這幾個檔案複製到新電腦的新建Hexo目錄下 _config.yml package.json

    轉載在github.io釋出部落

    文章:在github.io上寫部落格;因為版本問題,文章有修改... 可以在github pages上建立你自己的部落格。那就從github pages的官網開始吧。 按照官網的步驟來吧 1. 首先‘Create a repository’,這裡直接把官網的圖截過來

    checkbox數據的帶入

    append his clas treelist inf n) cnblogs es2017 str 首先帶回回來的json數據 先轉換為樹形結構 才能方便之後遍歷 添加數據,這是一段遞歸把數據變為樹形結構的方法 // 把返回到LIST轉為樹形結構 function

    我的第一部落之js的XXXX年XX月XX日 星期[日一-六] [上下]午 XX時:XX分

    <!DOCTYPE html> <html>     <head> <title>test</title>    &nbs

    ,php生成靜態頁面,加上頁面時間緩存

    art color 修改 sel rom require while execute ror <?php require_once(dirname(__FILE__).‘/include/config.inc.php‘); ?> <?php $

    Django搭建個人部落使用者的刪除

    這一章將實現刪除使用者資料的功能。 許可權與檢視 刪除使用者資料本身的邏輯並不複雜,但是會涉及到新的問題。 使用者資料是很多網站最重要的財產,確保使用者資料的安全是非常重要的。 前面學習的使用者登入、退出、建立都是相對安全的操作;而刪除資料就很危險,弄不好會造成不可逆的損失。因此我們希望對操作者做一些

    開始我的第一部落---之python學習001

    筆者開始學習python,目標是要做python介面自動化和爬蟲等,給自己定個目標希望可以實現。筆者想一點一點的瞭解python而不是寫了一堆程式碼只會除錯而沒有真正的弄懂內部結構是什麼。 這是筆者人生中第一次寫部落格,以後備參考用。 變數:把一個值給一個名字時,ta會儲存在記憶體中,這個名字稱之為變數。

    Django搭建個人部落使用者的註冊

    既然有登入登出,那麼使用者的註冊肯定也是少不了的。 登錄檔單類 使用者註冊時會用到表單來提交賬號、密碼等資料,所以需要寫註冊用的表單/userprofile/forms.py: /userprofile/forms.py ... # 註冊使用者表單 class UserRegisterForm(fo

    第四部落 CSS Grid 佈局基礎

    wcphahaha   CSS Grid 佈局基礎 grid 關鍵詞解釋   grid-template-columns: repeat(3,