成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

解析Android Widget中文API中TabWidget

移動開發
Android中文API中TabWidget的內容是本文要介紹的內容,主要是來了解并學習Android Widget 的應用及TabWidget的應用,具體內容的實現來看本文詳解。

Android中文API中TabWidget的內容是本文要介紹的內容,主要是來了解并學習Android Widget 的應用及TabWidget的應用,具體內容的實現來看本文詳解。

一、結構

  1. publicclassTabWidgetextendsLinearLayout  
  2.  
  3. implementsView.OnFocusChangeListener  
  4.  
  5. java.lang.Object  
  6.  
  7. android.view.View  
  8.  
  9. android.view.ViewGroup  
  10.  
  11. android.widget.LinearLayout  
  12.  
  13. android.widget.TabWidget 

二、概述

顯示選項卡標簽的列表,用于代表父選項卡集合的每一頁。當前widget的容器對象是TabHost。當用戶選擇一個選項卡時,此對象給父容器對象TabHost發送一個消息,告訴TabHost切換到對應的頁面顯示。此對象上的很多方法,你通常不會直接使用。容器TabHost被用來添加標簽,添加并管理回調函數。你可能會調用此對象以迭代選項卡列表,或者調整選項卡列表的布局,但大多數方法應該是通過容器TabHost對象調用。

參見TabLayouttutorial。

三、XML屬性

屬性名稱描述

android:divider可繪制對象,被繪制在選項卡窗口間充當分割物。

android:tabStripEnabled確定是否在選項卡繪制

android:tabStripLeft被用來繪制選項卡下面的分割線左邊部分的可視化對象。

android:tabStripRight被用來繪制選項卡下面的分割線右邊部分的可視化對象。

四、公共方法

  1. publicvoidaddView(Viewchild) 

增加子視圖。如果子視圖沒有設置布局參數,那么將為子視圖設置此ViewGroup默認的布局參數。

參數

child新增的子視圖

  1. publicvoidchildDrawableStateChanged(Viewchild) 

如果調用addStatesFromChildren函數返回true,刷新此組的可視化對象的狀態(包括它的子元素的狀態)。

參數

child可視化對象狀態被改變的子元素。

  1. publicvoiddispatchDraw(Canvascanvas) 

繪制時調用此方法來繪制子視圖。派生類在被繪制之前,為獲取控制可能會重寫此方法(但必須在它自己的視圖已經被繪制之后)。

參數

canvas繪制視圖的畫布(canvas)

  1. publicvoidfocusCurrentTab(intindex) 

設置當前選項卡并且讓其獲得焦點。此方法確保獲取焦點的選項卡窗口匹配選中的窗口,一般情況下類似setCurrentTab(int)。通常當我們通過操作UI實現時,這些都不是問題,因為UI負責調用TabWidget.onFocusChanged(),但如果我們通過程序控制選中選項卡窗口,那么我們就必須確認保持焦點。(譯者注:setCurrentTab(int)執行后,選中指定索引的選項卡窗口,但不獲取焦點。focusCurrentTab(int)執行后,不僅通過調用setCurrentTab(int)選中指定索引的選項卡窗口還獲取焦點。)

參數

index你想要設置焦點(橘色高亮)并且選中(選項卡被至于部件widget的前端)的選項卡。

參見

  1. setCurrentTab(int)  
  2. publicViewgetChildTabViewAt(intindex) 

返回位于指定索引位置的選項卡標識符的視圖

參數

index選項卡指示符視圖返回的從零開始的索引

返回值

在提供的索引位置上的選項卡指示符視圖

  1. publicintgetTabCount() 

返回選項卡的數量

返回值

選項卡指示符視圖的數量

  1. publicbooleanisStripEnabled() 

指明選項卡指示符的底部分隔線是否繪制

  1. publicvoidonFocusChange(Viewv,booleanhasFocus) 

當視圖的焦點狀態被改變時調用。

參數

v狀態變化的視圖

hasFocus視圖的新焦點狀態。

  1. publicvoidsendAccessibilityEventUnchecked(AccessibilityEventevent) 

處理用于發送AccessibilityEvent的請求。如果再發送之前調度事件,本方法不保證可訪問性檢查。可以通過調用者調用isEnabled()檢查。

參數

#p#

event事件

  1. publicvoidsetCurrentTab(intindex) 

設置當前選項卡。此方法被用來將選項卡置于widget的前部,并且通知其它的UI元素,一個不同的選項卡被調整到了前臺。注意,這不同于傳統的“焦點”,是從視圖邏輯的焦點。

例如,如果我們在選項卡式視圖中有一個列表,一個用戶可能會上下移動列表,通過列表選項移動UI焦點(橘色高亮)。光標的移動并不影響選項卡的選中狀態,因為滾動是在同一個選項卡上的。選中的選項卡僅僅當我們在選項卡上切換時(在此例中,從列表視圖移到下一選項卡視圖)更改。如果想要一次性的設置焦點并選中選項卡,請使用setCurrentTab(int)。

正常情況下,視圖邏輯關注調整焦點,除非你規避了UI,你可能僅僅將你的興趣集中在這里。

參數

index你想要指做選中選項卡的選項卡索引(選項卡被顯示到widget的前部)

參見

  1. focusCurrentTab(int)  
  2.  
  3. publicvoidsetDividerDrawable(Drawabledrawable) 

設置用于在選項窗口指示符間分隔的可繪制對象

參數

drawable用于分隔的可繪制對象

  1. publicvoidsetDividerDrawable(intresId) 

設置用于在兩個選項卡標識符之間進行分隔的可繪制對象

參數

resId被用來分隔的可繪制對象的資源標識

  1. publicvoidsetEnabled(booleanenabled) 

設置當前視圖的啟用狀態。子類的不同而其對應的啟用狀態的解釋也不相同。

參數

enabled是否啟動

  1. publicvoidsetLeftStripDrawable(intresId) 

設置被用來當作選項卡指示符下面的分割線,左邊部分的可繪制對象。

參數

resIdthe被用來當作左邊分隔線的可繪制對象的資源標識符

  1. publicvoidsetLeftStripDrawable(Drawabledrawable) 

設置被用來當作選項卡指示符下面的分割線,左邊部分的可繪制對象。

參數

drawable左邊分隔線的可繪制對象

  1. publicvoidsetRightStripDrawable(intresId) 

設置被用來當作選項卡指示符下面的分割線,右邊部分的可繪制對象。

參數

resId被用來當作右邊分隔線的可繪制對象的資源標識符

  1. publicvoidsetRightStripDrawable(Drawabledrawable) 

設置被用來當作選項卡指示符下面的分割線,右邊部分的可繪制對象。

參數

drawable右邊分隔線的可繪制對象

  1. publicvoidsetStripEnabled(booleanstripEnabled) 

控制選項卡指示符底部的分隔線是否繪制。默認是繪制。如果用戶為選項卡指示符指定一個定制的視圖,那么TabHost類調用此方法以禁用繪制底部分割線。

參數

stripEnabled如果需要繪制底部分割線為true

#p#

五、受保護方法

  1. protectedintgetChildDrawingOrder(intchildCount,inti) 

返回要繪制的子元素在當前迭代中的索引。如果你需要修改子元素的繪制順序,可以覆寫此方法。默認情況下返回參數i值。

注意:為使此方法被調用,你必須先通過調用setChildrenDrawingOrderEnabled(boolean)啟用子元素排序

參數

i當前的迭代值

返回值

將要繪制的子元素在當前迭代的索引

  1. protectedvoidonSizeChanged(intw,inth,intoldw,intoldh) 

布局過程中,當此視圖的大小發生改變時被調用的。如果你只是添加到視圖的層次結構,你調用時可以使用0當作之前的值(oldvalue)。

參數

w此視圖的當前寬度

h此視圖的當前高度

oldwOld此視圖之前的寬度

oldh此視圖之前的高度

示例代碼

JAVA

 

  1. public class TabDemo1 extends Activity implements OnClickListener {  
  2.  
  3.     TabHost mTabHost = null;  
  4.     TabWidget mTabWidget = null;  
  5.     Button btnVisiable, btnStrip;  
  6.  
  7.     @Override  
  8.     protected void onCreate(Bundle savedInstanceState) {  
  9.         // TODO Auto-generated method stub  
  10.         super.onCreate(savedInstanceState);  
  11.         setContentView(R.layout.tabdemo1);  
  12.         mTabHost = (TabHost) findViewById(android.R.id.tabhost);  
  13.         mTabHost.setup();  
  14.         mTabWidget = mTabHost.getTabWidget();  
  15.         mTabHost.addTab(mTabHost.newTabSpec("tab1").setContent(  
  16.                 R.id.LinearLayout001).setIndicator("Tab1"));  
  17.         mTabHost.addTab(mTabHost.newTabSpec("tab2").setContent(  
  18.                 R.id.LinearLayout002).setIndicator("Tab2"));  
  19.         mTabHost.addTab(mTabHost.newTabSpec("tab3").setContent(  
  20.                 R.id.LinearLayout003).setIndicator("Tab3"));  
  21.  
  22.         // mTabHost.setCurrentTab(1);  
  23.         btnVisiable = (Button) findViewById(R.id.btnVisiable);  
  24.         btnStrip = (Button) findViewById(R.id.btnStrip);  
  25.         btnVisiable.setOnClickListener(this);  
  26.         btnStrip.setOnClickListener(this);  
  27.         setTitle("共有" + mTabWidget.getTabCount() + "個tab");  
  28.     }  
  29.  
  30.     @Override  
  31.     public void onClick(View v) {  
  32.         // TODO Auto-generated method stub  
  33.         switch (v.getId()) {  
  34.         case R.id.btnVisiable:  
  35.             if (mTabWidget.getVisibility() != android.view.View.VISIBLE)  
  36.                 mTabWidget.setVisibility(android.view.View.VISIBLE);  
  37.             else  
  38.                 mTabWidget.setVisibility(android.view.View.INVISIBLE);  
  39.             break;  
  40.  
  41.         case R.id.btnStrip:  
  42.             mTabWidget.setStripEnabled(!mTabWidget.isStripEnabled());  
  43.             mTabWidget.setRightStripDrawable(android.R.color.transparent);  
  44.             break;  
  45.         default:  
  46.             break;  
  47.         }  
  48.     }  

XML

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <TabHost xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:layout_width="fill_parent" android:layout_height="fill_parent" 
  4.     android:id="@android:id/tabhost"> 
  5.     <LinearLayout android:layout_width="fill_parent" 
  6.         android:orientation="vertical" android:layout_height="fill_parent"> 
  7.             
  8.         <TabWidget android:id="@android:id/tabs" 
  9.             android:layout_width="fill_parent" android:layout_height="wrap_content"></TabWidget> 
  10.         <FrameLayout android:id="@android:id/tabcontent" 
  11.             android:layout_height="wrap_content" android:layout_width="fill_parent"> 
  12.             <LinearLayout android:id="@+id/LinearLayout001" android:orientation="vertical" 
  13.                 android:layout_width="fill_parent" android:layout_height="fill_parent"> 
  14.             <Button android:id="@+id/btnVisiable" android:text="顯示狀態切換" 
  15.                     android:layout_width="fill_parent" android:layout_height="wrap_content"></Button> 
  16.                 <Button android:id="@+id/btnStrip" android:layout_width="fill_parent" 
  17.                     android:layout_height="wrap_content" android:text="分隔線狀態切換"></Button> 
  18.                 <TextView android:id="@+id/TextView1" android:layout_width="fill_parent" 
  19.                     android:layout_height="wrap_content" android:text="小龍是好人!!!"></TextView> 
  20.                   
  21.             </LinearLayout> 
  22.             <LinearLayout android:id="@+id/LinearLayout002" 
  23.                 android:layout_width="fill_parent" android:layout_height="fill_parent"> 
  24.                 <TextView android:id="@+id/TextView2" android:layout_width="fill_parent" 
  25.                     android:layout_height="wrap_content" android:text="小龍是壞蛋!"></TextView> 
  26.             </LinearLayout> 
  27.             <LinearLayout android:id="@+id/LinearLayout003" 
  28.                 android:layout_width="fill_parent" android:layout_height="fill_parent"> 
  29.                 <TextView android:id="@+id/TextView3" android:layout_width="fill_parent" 
  30.                     android:layout_height="wrap_content" android:text="小龍還是壞蛋!"></TextView> 
  31.             </LinearLayout> 
  32.         </FrameLayout> 
  33.     </LinearLayout> 
  34. </TabHost> 

小結:解析Android Widget中文API中TabWidget的內容介紹完了,希望通過Android Widget的學習能對你有所幫助。

責任編輯:zhaolei 來源: 博客園
相關推薦

2011-09-07 14:34:55

Android Wid控件

2011-09-07 14:01:41

Android Wid實例

2011-09-09 10:00:20

Android Wid開發

2011-09-07 17:54:40

Android Wid開發

2010-07-13 09:08:27

Widget開發

2011-09-07 14:39:47

Android Wid設計

2011-09-08 15:40:45

Android Wid組件

2011-09-07 14:25:53

Android Wid設計

2010-04-23 11:21:05

Widget開發

2011-09-09 17:59:26

QT Widget

2011-09-07 14:55:28

Android WidAppWidget事件

2011-09-07 10:44:05

Android Wid

2011-09-08 14:21:37

jQueryWidget

2011-09-09 19:23:52

Widget

2011-09-08 16:17:45

Widget

2011-09-09 13:23:17

Widget

2011-09-14 13:56:28

Android API

2011-09-14 13:09:06

Android API

2011-09-14 14:08:23

Android API

2011-09-14 13:35:55

Android API
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲成人久久久 | 国产精品免费在线 | 亚洲精品一区国产精品 | 51ⅴ精品国产91久久久久久 | 涩涩视频网 | 欧美日韩亚洲一区二区 | 日韩欧美三级在线 | 日本不卡一区 | 可以免费观看的av片 | 日韩视频在线播放 | 亚洲欧美日韩系列 | 亚洲欧美中文日韩在线v日本 | 国产一区二区三区久久久久久久久 | 国产一区二区三区免费观看视频 | 久久成人精品视频 | 在线免费av电影 | 99精品欧美一区二区蜜桃免费 | 国产成人福利在线观看 | 91精品国产综合久久久久久丝袜 | 精品一二区 | 欧美精品久久 | 婷婷色国产偷v国产偷v小说 | 天天久久 | 国产精品视频网站 | 奇米影视首页 | 欧美日韩黄| 久久香蕉网 | 国产精品欧美一区二区三区 | 欧美国产日韩在线观看 | 午夜精品一区二区三区在线 | av在线成人 | 精品亚洲视频在线 | 天天综合网永久 | 免费黄色a级毛片 | 精品一区二区三区在线观看 | 日韩视频免费 | 天天看天天操 | 中文字幕高清视频 | 免费在线看黄 | 天天操精品视频 | 特级a欧美做爰片毛片 |