1. 程式人生 > >安卓開發中高階元件之選項卡的應用

安卓開發中高階元件之選項卡的應用

在安卓開發的UI設計中,為了使介面更加清晰、美觀,我們經常用到選項卡來達到在一個介面中實現不同介面的切換。選項卡主要是由TabHost、TabWidget和FrameLayout三個元件組成,用於實現一個多標籤頁的使用者介面,通過它可以將一個複雜的對話方塊分割成若干個標籤頁,實現對資訊的分類顯示和管理。使用該元件不僅可以使介面簡潔大方,還可以有效地減少窗體的個數。下面,以“慧辦公”專案中“輔助辦公”模組為例來說明實現選項卡的一般步驟:
(1)在佈局檔案中新增實現選項卡所需的TabHost、TabWidget和FrameLayout元件;

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="vertical" android:background="#F7F5F4"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<include android:id="@+id/QD_Head" android:layout_width="fill_parent" android:layout_height="40dp" layout="@layout/head_title" />
<TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content"> </TabWidget> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent"> </FrameLayout> </LinearLayout> </TabHost>

(2)編寫各標籤頁中要顯示內容所對應的XML佈局檔案;
(3)在Activity中獲取並初始化TabHost元件;

tabhost=(TabHost)findViewById(android.R.id.tabhost);
tabhost.setup();                            //初始化TabHost元件

(4)為TabHost物件新增標籤頁;

LayoutInflater inflater=LayoutInflater.from(this);
        inflater.inflate(R.layout.tab1,tabhost.getTabContentView());
inflater.inflate(R.layout.tab2, tabhost.getTabContentView());
tabhost.addTab(tabhost.newTabSpec("tab1").setIndicator("已到人員").setContent(R.id.linearlayout1));         //新增第一個標籤頁
tabhost.addTab(tabhost.newTabSpec("tab2").setIndicator("缺勤人員").setContent(R.id.linearlayout2));         //新增第二個標籤頁

相關推薦

開發中高階元件選項應用

在安卓開發的UI設計中,為了使介面更加清晰、美觀,我們經常用到選項卡來達到在一個介面中實現不同介面的切換。選項卡主要是由TabHost、TabWidget和FrameLayout三個元件組成,用於實現一個多標籤頁的使用者介面,通過它可以將一個複雜的對話方塊分割成

開發進階RxJava在實際專案中使用--第二篇

關於RxJava原理分析,請參考仍物線寫的文章—-給 Android 開發者的 RxJava 詳解。本文不對原理作過多的分析,從最快上手的角度,讓開發者使用起來,當我們有實踐經驗後回過頭來看原理分析會更清晰。 本系列共有三篇文章,分別關於Rxjava的基礎使用

四大控制元件BroadcastReceiver詳解

BroadcastReceiver詳解 廣播的概念 Android:系統在產生某個事件時傳送廣播,應用程式使用廣播接收者接收這個廣播,就知道系統產生了什麼事件。 Android系統在執行的過程中,會產生很多事件,比如開機、電量改變、收發簡訊、撥打電話、螢

[開發基礎] 10.19 選項選單 上下文選單

.  1.在res 路徑下  ---new----Directory ---menu: 2. main_menu.xml 新增選單 item 項: <?xml version="1.0" encoding="utf-8"?> <men

開發:SmartImageView簡單實現和應用

overload override ans geb actor dsta pub pac 獲取 通常從服務器端獲取的圖片是URL地址,如果簡單地通過URL地址獲取圖片? 有一個開源項目:SmartImageView,做到了這個功能,同時還有其他功能,下載不便,過於龐大 這裏

開發(一)時間管理應用DayPlay

需求分析: 日常生活中,人們常常會因為拖拉而無法按時完成任務。“你有多少時間,就會花多少時間做一件事”,似乎是常人的通病。也許你開始時躊躇滿志,目標明確,可是時間一長往往就會偏離目標,將時間浪費在一些無謂的事情上。缺乏適時的、足夠多的提醒是主因。 當前,

C++ Builder XE8 開發使用TidTCPClient控制元件獲取接收資料長度的方法

本人在使用indy10.6.2的TCPClient控制元件時,由於沒有indy10的使用手冊,一直不知道如何獲取client接收資料的長度。 後來經過仔細的尋找和嘗試,終於找到了獲取接收資料長度的方法

C++ Builder XE8 開發使用TIdThreadComponent控制元件接收客戶端的資料

C++ Builder中自帶了indy10控制元件,由於indy10的TCPClient接收方式是阻塞式的,所以需要一個執行緒來接收資料。 indy10本身有一個執行緒控制元件: 把它放在介面中就可以使用了。 我是在OnRun函式中新增自己的程式碼,雖然可以成功執行,

初學開發隨筆 Menu、toast 用法、活動的四種啟動模式 以及 一個方便的Base活動類使用方法

pro 一點 cte edi standard oid nal xtend 解釋 Toast toast 是安卓系統的一種非常棒的提醒方式 首先定義一個彈出Toast的觸發點,比如可以是按鈕之類 其中 Toast.LENGTH_SHORT是指顯示時長 還有一個內置變量為To

開發配置參數幫忙寫代碼 一

str size arr www 流程 () 安卓開發 ttext obj 在尋常的安卓開發中,流程都是這種,先把要須要顯示的界面繪制出來,在發送一個http請求。

開發:sd操作

use AS con AI string extern toast path 沒有 1.向sdcard中寫入數據: 發現向/mnt/sdcard路徑寫數據會報錯,原因:沒有開啟相應權限 解決:配置文件中加入 <uses-permission android:

粵嵌開發路在何方?

根據 移動平臺 想要 一般來說 架構師 不錯 機會 如果 未來 安卓已經發行多年,其Android開發領域趨於成熟穩定,同時整個移動互聯網仍在快速前進,移動應用也需要不斷進化,對安卓開發人員的要求也不斷提高。在未來,安卓開發還會像現在這樣吃香嗎?這也是粵嵌小編接下來要提到的

開發應用上架的那些事兒

應用市場 需要 不一致 安裝失敗 安卓開發 安卓 app 上架 那些事兒   工作的過程中遇到這樣的需求:要上架這個App到應用市場中,但是,應用市場中已經有了叫同樣名稱的App了,新上架的要頂替原來的,並且用戶安裝時以前下載到手機裏的這個名稱的app被替換掉。   這時我

Android 開發:(三)常用控制元件以及仿《微門戶》登入介面實現

一、常用控制元件: 1、文字類控制元件 TextView 負責展示文字,非編輯 EditText 可編輯文字控制元件 2、按鈕類控制元件 Button 按鈕 ImageButton 圖片按鈕 RadioButton與RadioGroup 單

開發socket的IP地址

1、IP地址獲取      socket.getInetAddress():本客戶端的IP地址              返回:/192.168.1.108     &

開發不通過USB資料線除錯的方法

搞安卓開發的程式設計師肯定都需要用又笨又礙手礙腳的USB資料線連線安卓裝置進行除錯,是不是覺得非常麻煩? 然後為了避免這種麻煩,我們一般通過網路上的各種方法,比如AS的外掛ADB WIFI,不知道大家是如何使用 這個ADB WIFI的,反正我是重來沒成功過,據說需要ROOT安卓裝置吧,但ROOT我依然不成

開發學習筆記(五):史上最簡單且華麗地實現Android Stutio當中Webview控制元件https/http協議的方法

一.我們先在XML當中自定義一個webview(Second_layout.xml) 程式碼如下: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.an

開發實戰app版本更新升級(DownloadManager和http下載)完整實現

前言 本文將講解app的升級與更新。一般而言使用者使用App的時候升級提醒有兩種方式獲得: 一種是通過應用市場 獲取 一種是開啟應用之後提醒使用者更新升級 而更新操作一般是在使用者點選了升級按鈕之後開始執行的,這裡的升級操作也分為兩種形式: 一般升

開發學習dataBinding的學習使用

背景 dataBinding資料繫結是谷歌推出的基於觀察者模式的資料和頁面內容的繫結,擁有廣闊的應用前景。   使用 使能 dataBinding使能只需要在module的gradle檔案里加上這麼一段話 android { ... dataBin

開發學習自定義Toast的實現

背景 吐司提示很常見,但系統的吐司有一個缺點,就是顯示時長不能自定義,而自定義Toast可以實現這一點   實現步驟 整體思路是:活動視窗發出彈出吐司請求,然後中間層接收請求,發給排程層,排程層顯示吐司 這裡請求的傳遞就是方法的呼叫,顯示和消除吐司的關鍵是呼叫windo