Most visited

Recently visited

Added in API level 1

TabHost

public class TabHost
extends FrameLayout implements ViewTreeObserver.OnTouchModeChangeListener

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.FrameLayout
         ↳ android.widget.TabHost
Known Direct Subclasses


选项卡式窗口视图的容器。 该对象包含两个子项:一组用户单击以选择特定选项卡的选项卡标签以及一个显示该页面内容的FrameLayout对象。 通常使用此容器对象来控制各个元素,而不是在子元素本身上设置值。

Summary

Nested classes

interface TabHost.OnTabChangeListener

当选项卡更改时要调用的回调的接口定义

interface TabHost.TabContentFactory

选中时制作选项卡的内容。

class TabHost.TabSpec

选项卡包含选项卡指示符,内容和用于跟踪它的标记。

Inherited XML attributes

From class android.widget.FrameLayout
From class android.view.ViewGroup
From class android.view.View

Inherited constants

From class android.view.ViewGroup
From class android.view.View

Inherited fields

From class android.view.View

Public constructors

TabHost(Context context)
TabHost(Context context, AttributeSet attrs)
TabHost(Context context, AttributeSet attrs, int defStyleAttr)
TabHost(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)

Public methods

void addTab(TabHost.TabSpec tabSpec)

添加一个选项卡。

void clearAllTabs()

从与此选项卡主机关联的选项卡小部件中删除所有选项卡。

boolean dispatchKeyEvent(KeyEvent event)

将关键事件分派到焦点路径上的下一个视图。

void dispatchWindowFocusChanged(boolean hasFocus)

当包含此视图的窗口获得或失去窗口焦点时调用。

CharSequence getAccessibilityClassName()

返回此对象的类名称以用于辅助功能。

int getCurrentTab()
String getCurrentTabTag()
View getCurrentTabView()
View getCurrentView()
FrameLayout getTabContentView()

获取包含标签内容的FrameLayout

TabWidget getTabWidget()
TabHost.TabSpec newTabSpec(String tag)

获取与此选项卡主机关联的新 TabHost.TabSpec

void onTouchModeChanged(boolean isInTouchMode)

在触摸模式更改时要调用的回调方法。

void setCurrentTab(int index)
void setCurrentTabByTag(String tag)
void setOnTabChangedListener(TabHost.OnTabChangeListener l)

当此列表中任何项目的选定状态更改时,注册一个回调以供调用

void setup()

如果使用findViewById()加载TabHost,请在添加选项卡之前调用setup()。

void setup(LocalActivityManager activityGroup)

如果您使用的是 setContent(android.content.Intent) ,则必须调用它,因为需要activityGroup来启动本地活动。

Inherited methods

From class android.widget.FrameLayout
From class android.view.ViewGroup
From class android.view.View
From class java.lang.Object
From interface android.view.ViewParent
From interface android.view.ViewManager
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.accessibility.AccessibilityEventSource
From interface android.view.ViewTreeObserver.OnTouchModeChangeListener

Public constructors

TabHost

Added in API level 1
TabHost (Context context)

Parameters
context Context

TabHost

Added in API level 1
TabHost (Context context, 
                AttributeSet attrs)

Parameters
context Context
attrs AttributeSet

TabHost

Added in API level 21
TabHost (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

Parameters
context Context
attrs AttributeSet
defStyleAttr int

TabHost

Added in API level 21
TabHost (Context context, 
                AttributeSet attrs, 
                int defStyleAttr, 
                int defStyleRes)

Parameters
context Context
attrs AttributeSet
defStyleAttr int
defStyleRes int

Public methods

addTab

Added in API level 1
void addTab (TabHost.TabSpec tabSpec)

添加一个选项卡。

Parameters
tabSpec TabHost.TabSpec: Specifies how to create the indicator and content.

clearAllTabs

Added in API level 1
void clearAllTabs ()

从与此选项卡主机关联的选项卡小部件中删除所有选项卡。

dispatchKeyEvent

Added in API level 1
boolean dispatchKeyEvent (KeyEvent event)

将关键事件分派到焦点路径上的下一个视图。 此路径从视图树的顶部向下延伸到当前聚焦的视图。 如果这个观点有重点,它会发送给自己。 否则,它将沿着焦点路径调度下一个节点。 这个方法也会触发任何关键的监听器。

Parameters
event KeyEvent: The key event to be dispatched.
Returns
boolean True if the event was handled, false otherwise.

dispatchWindowFocusChanged

Added in API level 1
void dispatchWindowFocusChanged (boolean hasFocus)

当包含此视图的窗口获得或失去窗口焦点时调用。 ViewGroups应该覆盖路由到他们的孩子。

Parameters
hasFocus boolean: True if the window containing this view now has focus, false otherwise.

getAccessibilityClassName

Added in API level 23
CharSequence getAccessibilityClassName ()

返回此对象的类名称以用于辅助功能。 如果子类正在实现的东西应该被视为一个全新的视图类,当它被可访问性使用时,子类只应该覆盖这个子类,与它所源自的类无关。 这用于填写AccessibilityNodeInfo.setClassName

Returns
CharSequence

getCurrentTab

Added in API level 1
int getCurrentTab ()

Returns
int

getCurrentTabTag

Added in API level 1
String getCurrentTabTag ()

Returns
String

getCurrentTabView

Added in API level 1
View getCurrentTabView ()

Returns
View

getCurrentView

Added in API level 1
View getCurrentView ()

Returns
View

getTabContentView

Added in API level 1
FrameLayout getTabContentView ()

获取包含标签内容的FrameLayout

Returns
FrameLayout

getTabWidget

Added in API level 1
TabWidget getTabWidget ()

Returns
TabWidget

newTabSpec

Added in API level 1
TabHost.TabSpec newTabSpec (String tag)

获取与此选项卡主机关联的新 TabHost.TabSpec

Parameters
tag String: required tag of tab.
Returns
TabHost.TabSpec

onTouchModeChanged

Added in API level 1
void onTouchModeChanged (boolean isInTouchMode)

在触摸模式更改时要调用的回调方法。

Parameters
isInTouchMode boolean: True if the view hierarchy is now in touch mode, false otherwise.

setCurrentTab

Added in API level 1
void setCurrentTab (int index)

Parameters
index int

setCurrentTabByTag

Added in API level 1
void setCurrentTabByTag (String tag)

Parameters
tag String

setOnTabChangedListener

Added in API level 1
void setOnTabChangedListener (TabHost.OnTabChangeListener l)

当此列表中任何项目的选定状态更改时,注册一个回调以供调用

Parameters
l TabHost.OnTabChangeListener: The callback that will run

setup

Added in API level 1
void setup ()

如果使用findViewById()加载TabHost,请在添加选项卡之前调用setup()。 但是 :您不需要在TabActivity中的TabActivity ()之后调用setup()。 例:

mTabHost = (TabHost)findViewById(R.id.tabhost);
mTabHost.setup();
mTabHost.addTab(TAB_TAG_1, "Hello, world!", "Tab 1");

setup

Added in API level 1
void setup (LocalActivityManager activityGroup)

如果您使用的是setContent(android.content.Intent) ,则必须调用它,因为需要activityGroup来启动本地活动。 如果您延长TabActivity这将为您完成。

Parameters
activityGroup LocalActivityManager: Used to launch activities for tab content.

Hooray!