Most visited

Recently visited

TabLayout

public class TabLayout
extends HorizontalScrollView

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.FrameLayout
         ↳ android.widget.HorizontalScrollView
           ↳ android.support.design.widget.TabLayout


TabLayout提供了一个水平布局来显示选项卡。

要通过TabLayout.Tab实例完成要显示的选项卡的TabLayout.Tab 您通过newTab()创建标签。 从那里您可以分别通过setText(int)setIcon(int)更改标签的标签或图标。 要显示选项卡,您需要通过addTab(Tab)方法之一将其添加到布局。 例如:

 TabLayout tabLayout = ...;
 tabLayout.addTab(tabLayout.newTab().setText("Tab 1"));
 tabLayout.addTab(tabLayout.newTab().setText("Tab 2"));
 tabLayout.addTab(tabLayout.newTab().setText("Tab 3"));
 
You should set a listener via setOnTabSelectedListener(OnTabSelectedListener) to be notified when any tab's selection state has been changed.

您还可以通过使用TabItem将项目添加到布局中的TabItem 一个示例用法如下所示:

 <android.support.design.widget.TabLayout
         android:layout_height="wrap_content"
         android:layout_width="match_parent">

     <android.support.design.widget.TabItem
             android:text="@string/tab_text"/>

     <android.support.design.widget.TabItem
             android:icon="@drawable/ic_android"/>

 </android.support.design.widget.TabLayout>
 

ViewPager integration

如果您将ViewPager与此布局一起使用,则可以致电setupWithViewPager(ViewPager)将两者连接在一起。 该布局将自动从PagerAdapter的页面标题填充。

该视图还支持将其用作ViewPager装饰的一部分,并且可以直接将其添加到布局资源文件中的ViewPager中,如下所示:

 <android.support.v4.view.ViewPager
     android:layout_width="match_parent"
     android:layout_height="match_parent">

     <android.support.design.widget.TabLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_gravity="top" />

 </android.support.v4.view.ViewPager>
 

也可以看看:

Summary

Nested classes

interface TabLayout.OnTabSelectedListener

在选项卡的选择状态更改时调用回调接口。

class TabLayout.Tab

此布局中的选项卡。

class TabLayout.TabLayoutOnPageChangeListener

一个ViewPager.OnPageChangeListener类,其中包含必要的调用回到提供的TabLayout以便选项卡位置保持同步。

class TabLayout.ViewPagerOnTabSelectedListener

一个TabLayout.OnTabSelectedListener类,其中包含必要的调用返回到提供的ViewPager以便选项卡位置保持同步。

XML attributes

android.support.design:tabBackground Reference to a background to be applied to tabs. 
android.support.design:tabContentStart Position in the Y axis from the starting edge that tabs should be positioned from. 
android.support.design:tabGravity Gravity constant for tabs. 
android.support.design:tabIndicatorColor Color of the indicator used to show the currently selected tab. 
android.support.design:tabIndicatorHeight Height of the indicator used to show the currently selected tab. 
android.support.design:tabMaxWidth The maximum width for tabs. 
android.support.design:tabMinWidth The minimum width for tabs. 
android.support.design:tabMode The behavior mode for the Tabs in this layout

必须是下列常数值之一。

android.support.design:tabPadding The preferred padding along all edges of tabs. 
android.support.design:tabPaddingBottom The preferred padding along the bottom edge of tabs. 
android.support.design:tabPaddingEnd The preferred padding along the end edge of tabs. 
android.support.design:tabPaddingStart The preferred padding along the start edge of tabs. 
android.support.design:tabPaddingTop The preferred padding along the top edge of tabs. 
android.support.design:tabSelectedTextColor The text color to be applied to the currently selected tab. 
android.support.design:tabTextAppearance A reference to a TextAppearance style to be applied to tabs. 
android.support.design:tabTextColor The default text color to be applied to tabs. 

Inherited XML attributes

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

Constants

int GRAVITY_CENTER

重力用于布置 TabLayout中心的选项卡。

int GRAVITY_FILL

尽量使用重力来填充 TabLayout

int MODE_FIXED

固定标签可以同时显示所有标签,并且最适合用于标签之间快速旋转的内容。

int MODE_SCROLLABLE

可滚动选项卡在任何给定时刻显示选项卡的子集,并且可以包含更长的选项卡标签和更多选项卡。

Inherited constants

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

Inherited fields

From class android.view.View

Public constructors

TabLayout(Context context)
TabLayout(Context context, AttributeSet attrs)
TabLayout(Context context, AttributeSet attrs, int defStyleAttr)

Public methods

void addOnTabSelectedListener(TabLayout.OnTabSelectedListener listener)

添加一个 TabLayout.OnTabSelectedListener ,当选项卡选择更改时将调用该选项。

void addTab(TabLayout.Tab tab, boolean setSelected)

在此布局中添加一个选项卡。

void addTab(TabLayout.Tab tab, int position)

在此布局中添加一个选项卡。

void addTab(TabLayout.Tab tab)

在此布局中添加一个选项卡。

void addTab(TabLayout.Tab tab, int position, boolean setSelected)

在此布局中添加一个选项卡。

void addView(View child, int index)

添加子视图。

void addView(View child)

添加子视图。

void addView(View child, ViewGroup.LayoutParams params)

添加具有指定布局参数的子视图。

void addView(View child, int index, ViewGroup.LayoutParams params)

添加具有指定布局参数的子视图。

FrameLayout.LayoutParams generateLayoutParams(AttributeSet attrs)

根据提供的属性集返回一组新的布局参数。

int getSelectedTabPosition()

返回当前选定选项卡的位置。

TabLayout.Tab getTabAt(int index)

返回指定索引处的选项卡。

int getTabCount()

返回当前在操作栏中注册的选项卡数量。

int getTabGravity()

当前用于布置标签的重力。

int getTabMode()

返回此 TabLayout使用的当前模式。

ColorStateList getTabTextColors()

获取用于选项卡的不同状态(正常,选定)的文本颜色。

TabLayout.Tab newTab()

创建并返回一个新的 TabLayout.Tab

void removeAllTabs()

从操作栏中删除所有选项卡并取消选择当前选项卡。

void removeOnTabSelectedListener(TabLayout.OnTabSelectedListener listener)

删除指定 TabLayout.OnTabSelectedListener以前通过添加 addOnTabSelectedListener(OnTabSelectedListener)

void removeTab(TabLayout.Tab tab)

从布局中删除一个选项卡。

void removeTabAt(int position)

从布局中删除一个选项卡。

void setOnTabSelectedListener(TabLayout.OnTabSelectedListener listener)

此方法已弃用。 使用addOnTabSelectedListener(OnTabSelectedListener)removeOnTabSelectedListener(OnTabSelectedListener)

void setScrollPosition(int position, float positionOffset, boolean updateSelectedText)

设置选项卡的滚动位置。

void setSelectedTabIndicatorColor(int color)

设置当前选定选项卡的选项卡指示符的颜色。

void setSelectedTabIndicatorHeight(int height)

设置当前选定选项卡的选项卡指示符的高度。

void setTabGravity(int gravity)

设置选项卡布局时使用的重力。

void setTabMode(int mode)

在此布局中设置选项卡的行为模式。

void setTabTextColors(int normalColor, int selectedColor)

设置用于选项卡的不同状态(正常,选定)的文本颜色。

void setTabTextColors(ColorStateList textColor)

设置用于选项卡的不同状态(正常,选定)的文本颜色。

void setTabsFromPagerAdapter(PagerAdapter adapter)

此方法已弃用。 使用setupWithViewPager(ViewPager)将TabLayout与ViewPager链接在一起。 当使用该方法时,当PagerAdapter更改时,TabLayout将自动更新。

void setupWithViewPager(ViewPager viewPager, boolean autoRefresh)

ViewPager建立这个 TabLayout的一站式商店。

void setupWithViewPager(ViewPager viewPager)

ViewPager建立这个 TabLayout的一站式商店。

boolean shouldDelayChildPressedState()

如果应该延迟此ViewGroup的子项或后代的按下状态,则返回true。

Protected methods

void onAttachedToWindow()

这在视图附加到窗口时被调用。

void onDetachedFromWindow()

这是在视图从窗口分离时调用的。

void onMeasure(int widthMeasureSpec, int heightMeasureSpec)

测量视图及其内容以确定测量宽度和测量高度。

Inherited methods

From class android.widget.HorizontalScrollView
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

XML attributes

android.support.design:tabBackground

引用要应用于制表符的背景。

可能是另一种资源的引用,其形式为“ @[+][package:]type/name ”或形式为“一个主题属性 ?[package:]type/name ”。

android.support.design:tabContentStart

从标签应该从的起始边缘定位在Y轴上。

可能是尺寸值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

android.support.design:tabGravity

标签的重力常数。

必须是下列常数值之一。

Constant Value 描述
center 1
fill 0

相关方法:

android.support.design:tabIndicatorColor

指标的颜色用于显示当前选定的选项卡。

可能是一个颜色值,形式为“ #rgb ”,“ #argb ”,“ #rrggbb#aarrggbb ”。

相关方法:

android.support.design:tabIndicatorHeight

用于显示当前所选标签的指标高度。

可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

相关方法:

android.support.design:tabMaxWidth

标签的最大宽度。

可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

android.support.design:tabMinWidth

标签的最小宽度。

可能是尺寸值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

android.support.design:tabMode

此布局中Tabs的行为模式

必须是下列常数值之一。

Constant Value 描述
fixed 1
scrollable 0

相关方法:

android.support.design:tabPadding

沿标签所有边缘的首选填充。

可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

android.support.design:tabPaddingBottom

沿标签底部边缘的首选填充。

可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

android.support.design:tabPaddingEnd

沿制表符的末端边缘的首选填充。

可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

android.support.design:tabPaddingStart

沿制表符起始边缘的首选填充。

可能是尺寸值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

android.support.design:tabPaddingTop

沿制表符顶部边缘的首选填充。

可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

android.support.design:tabSelectedTextColor

要应用于当前选定选项卡的文本颜色。

可能是一个颜色值,形式为“ #rgb ”,“ #argb ”,“ #rrggbb#aarrggbb ”。

相关方法:

android.support.design:tabTextAppearance

对要应用于制表符的TextAppearance样式的引用。

可能是另一种资源的引用,其形式为“ @[+][package:]type/name ”或形式为“一个主题属性 ?[package:]type/name ”。

android.support.design:tabTextColor

要应用于选项卡的默认文本颜色。

可能是一个颜色值,形式为“ #rgb ”,“ #argb ”,“ #rrggbb#aarrggbb ”。

相关方法:

Constants

GRAVITY_CENTER

int GRAVITY_CENTER

重力用于布置 TabLayout中心的选项卡。

也可以看看:

常数值:1(0x00000001)

GRAVITY_FILL

int GRAVITY_FILL

尽可能使用重力来填充TabLayout 此选项仅在与MODE_FIXED使用时MODE_FIXED

也可以看看:

常量值:0(0x00000000)

MODE_FIXED

int MODE_FIXED

固定标签可以同时显示所有标签,并且最适合用于标签之间快速旋转的内容。 选项卡的最大数量受限于视图的宽度。 固定标签具有相同的宽度,基于最宽的标签标签。

也可以看看:

常数值:1(0x00000001)

MODE_SCROLLABLE

int MODE_SCROLLABLE

可滚动选项卡在任何给定时刻显示选项卡的子集,并且可以包含更长的选项卡标签和更多选项卡。 当用户不需要直接比较标签标签时,它们最适合用于在触摸界面中浏览上下文。

也可以看看:

常量值:0(0x00000000)

Public constructors

TabLayout

TabLayout (Context context)

Parameters
context Context

TabLayout

TabLayout (Context context, 
                AttributeSet attrs)

Parameters
context Context
attrs AttributeSet

TabLayout

TabLayout (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

Parameters
context Context
attrs AttributeSet
defStyleAttr int

Public methods

addOnTabSelectedListener

void addOnTabSelectedListener (TabLayout.OnTabSelectedListener listener)

添加将在选项卡选择更改时调用的 TabLayout.OnTabSelectedListener

添加侦听器的组件在通过 removeOnTabSelectedListener(OnTabSelectedListener)完成时应小心删除它。

Parameters
listener TabLayout.OnTabSelectedListener: listener to add

addTab

void addTab (TabLayout.Tab tab, 
                boolean setSelected)

在此布局中添加一个选项卡。 该选项卡将添加到列表的末尾。

Parameters
tab TabLayout.Tab: Tab to add
setSelected boolean: True if the added tab should become the selected tab.

addTab

void addTab (TabLayout.Tab tab, 
                int position)

在此布局中添加一个选项卡。 该标签将插入position 如果这是要添加的第一个选项卡,它将成为选定的选项卡。

Parameters
tab TabLayout.Tab: The tab to add
position int: The new position of the tab

addTab

void addTab (TabLayout.Tab tab)

在此布局中添加一个选项卡。 该选项卡将添加到列表的末尾。 如果这是要添加的第一个选项卡,它将成为选定的选项卡。

Parameters
tab TabLayout.Tab: Tab to add

addTab

void addTab (TabLayout.Tab tab, 
                int position, 
                boolean setSelected)

在此布局中添加一个选项卡。 该标签将被插入position

Parameters
tab TabLayout.Tab: The tab to add
position int: The new position of the tab
setSelected boolean: True if the added tab should become the selected tab.

addView

void addView (View child, 
                int index)

添加子视图。 如果没有设置布局参数,则此子视图的默认参数设置在该子级上。

注意:不要调用此方法 draw(android.graphics.Canvas)onDraw(android.graphics.Canvas)dispatchDraw(android.graphics.Canvas)或任何相关方法。

Parameters
child View: the child view to add
index int: the position at which to add the child

addView

void addView (View child)

添加子视图。 如果没有设置布局参数,则此子视图的默认参数设置在该子级上。

注意:不要调用此方法 draw(android.graphics.Canvas)onDraw(android.graphics.Canvas)dispatchDraw(android.graphics.Canvas)或任何相关方法。

Parameters
child View: the child view to add

addView

void addView (View child, 
                ViewGroup.LayoutParams params)

添加具有指定布局参数的子视图。

注意:不要调用此方法 draw(android.graphics.Canvas)onDraw(android.graphics.Canvas)dispatchDraw(android.graphics.Canvas)或任何相关方法。

Parameters
child View: the child view to add
params ViewGroup.LayoutParams: the layout parameters to set on the child

addView

void addView (View child, 
                int index, 
                ViewGroup.LayoutParams params)

添加具有指定布局参数的子视图。

注意:不要调用此方法 draw(android.graphics.Canvas)onDraw(android.graphics.Canvas)dispatchDraw(android.graphics.Canvas)或任何相关方法。

Parameters
child View: the child view to add
index int: the position at which to add the child or -1 to add last
params ViewGroup.LayoutParams: the layout parameters to set on the child

generateLayoutParams

FrameLayout.LayoutParams generateLayoutParams (AttributeSet attrs)

根据提供的属性集返回一组新的布局参数。

Parameters
attrs AttributeSet: the attributes to build the layout parameters from
Returns
FrameLayout.LayoutParams an instance of ViewGroup.LayoutParams or one of its descendants

getSelectedTabPosition

int getSelectedTabPosition ()

返回当前选定选项卡的位置。

Returns
int selected tab position, or -1 if there isn't a selected tab.

getTabAt

TabLayout.Tab getTabAt (int index)

返回指定索引处的选项卡。

Parameters
index int
Returns
TabLayout.Tab

getTabCount

int getTabCount ()

返回当前在操作栏中注册的选项卡数量。

Returns
int Tab count

getTabGravity

int getTabGravity ()

当前用于布置标签的重力。

Returns
int one of GRAVITY_CENTER or GRAVITY_FILL.

getTabMode

int getTabMode ()

返回此 TabLayout使用的当前模式。

Returns
int

也可以看看:

getTabTextColors

ColorStateList getTabTextColors ()

获取用于选项卡的不同状态(正常,选定)的文本颜色。

Returns
ColorStateList

newTab

TabLayout.Tab newTab ()

创建并返回一个新的TabLayout.Tab 您需要使用addTab(Tab)或相关方法手动添加。

Returns
TabLayout.Tab A new Tab

也可以看看:

removeAllTabs

void removeAllTabs ()

从操作栏中删除所有选项卡并取消选择当前选项卡。

removeOnTabSelectedListener

void removeOnTabSelectedListener (TabLayout.OnTabSelectedListener listener)

删除指定 TabLayout.OnTabSelectedListener以前通过添加 addOnTabSelectedListener(OnTabSelectedListener)

Parameters
listener TabLayout.OnTabSelectedListener: listener to remove

removeTab

void removeTab (TabLayout.Tab tab)

从布局中删除一个选项卡。 如果选择了删除的选项卡,则将取消选择该选项卡,如果存在,则会选择另一个选项卡。

Parameters
tab TabLayout.Tab: The tab to remove

removeTabAt

void removeTabAt (int position)

从布局中删除一个选项卡。 如果选择了删除的选项卡,则将取消选择该选项卡,如果存在,则会选择另一个选项卡。

Parameters
position int: Position of the tab to remove

setOnTabSelectedListener

void setOnTabSelectedListener (TabLayout.OnTabSelectedListener listener)

此方法已弃用。
使用addOnTabSelectedListener(OnTabSelectedListener)removeOnTabSelectedListener(OnTabSelectedListener)

Parameters
listener TabLayout.OnTabSelectedListener

setScrollPosition

void setScrollPosition (int position, 
                float positionOffset, 
                boolean updateSelectedText)

设置选项卡的滚动位置。 这对于将选项卡显示为滚动容器(如ViewPager一部分时非常有用。

调用此方法不会更新选定的选项卡,它仅用于绘图目的。

Parameters
position int: current scroll position
positionOffset float: Value from [0, 1) indicating the offset from position.
updateSelectedText boolean: Whether to update the text's selected state.

setSelectedTabIndicatorColor

void setSelectedTabIndicatorColor (int color)

设置当前选定选项卡的选项卡指示符的颜色。

相关XML属性:

Parameters
color int: color to use for the indicator

setSelectedTabIndicatorHeight

void setSelectedTabIndicatorHeight (int height)

设置当前选定选项卡的选项卡指示符的高度。

相关XML属性:

Parameters
height int: height to use for the indicator in pixels

setTabGravity

void setTabGravity (int gravity)

设置选项卡布局时使用的重力。

相关XML属性:

Parameters
gravity int: one of GRAVITY_CENTER or GRAVITY_FILL.

setTabMode

void setTabMode (int mode)

在此布局中设置选项卡的行为模式。 有效的输入选项是:

  • MODE_FIXED: Fixed tabs display all tabs concurrently and are best used with content that benefits from quick pivots between tabs.
  • MODE_SCROLLABLE: Scrollable tabs display a subset of tabs at any given moment, and can contain longer tab labels and a larger number of tabs. They are best used for browsing contexts in touch interfaces when users don’t need to directly compare the tab labels. This mode is commonly used with a ViewPager.

相关XML属性:

Parameters
mode int: one of MODE_FIXED or MODE_SCROLLABLE.

setTabTextColors

void setTabTextColors (int normalColor, 
                int selectedColor)

设置用于选项卡的不同状态(正常,选定)的文本颜色。

相关XML属性:

Parameters
normalColor int
selectedColor int

setTabTextColors

void setTabTextColors (ColorStateList textColor)

设置用于选项卡的不同状态(正常,选定)的文本颜色。

Parameters
textColor ColorStateList

也可以看看:

setTabsFromPagerAdapter

void setTabsFromPagerAdapter (PagerAdapter adapter)

此方法已弃用。
使用setupWithViewPager(ViewPager)将TabLayout与ViewPager链接在一起。 当使用该方法时, PagerAdapter更改时,TabLayout将自动更新。

Parameters
adapter PagerAdapter

setupWithViewPager

void setupWithViewPager (ViewPager viewPager, 
                boolean autoRefresh)

ViewPager设置这个 TabLayout的一站式商店。

这个方法会将给定的ViewPager和这个TabLayout连接在一起,这样一个中的变化会自动反映到另一个中。 这包括滚动状态更改和点击。 此布局中显示的选项卡将从ViewPager适配器的页面标题填充。

如果 autoRefreshtrue ,在任何改变 PagerAdapter将触发该布局从适配器的标题,以重新填充本身。

如果给定的ViewPager非空,它需要已经有一个 PagerAdapter集合。

Parameters
viewPager ViewPager: the ViewPager to link to, or null to clear any previous link
autoRefresh boolean: whether this layout should refresh its contents if the given ViewPager's content changes

setupWithViewPager

void setupWithViewPager (ViewPager viewPager)

一站式商店设立这个 TabLayoutViewPager

这与启用自动刷新的调用 setupWithViewPager(ViewPager, boolean)相同。

Parameters
viewPager ViewPager: the ViewPager to link to, or null to clear any previous link

shouldDelayChildPressedState

boolean shouldDelayChildPressedState ()

如果应该延迟此ViewGroup的子项或后代的按下状态,则返回true。 通常,这应该对可以滚动的容器(例如List)完成。 这可以防止在用户实际尝试滚动内容时出现按下状态。 出于兼容性原因,默认实现返回true。 不滚动的子类通常应该重写此方法并返回false。

Returns
boolean

Protected methods

onAttachedToWindow

void onAttachedToWindow ()

这在视图附加到窗口时被调用。 此时它有一个Surface并将开始绘制。 请注意,此功能保证在onDraw(android.graphics.Canvas)之前onDraw(android.graphics.Canvas) ,但可能会在第一次onDraw之前的任何时候调用 - 包括onMeasure(int, int)之前或之后。

onDetachedFromWindow

void onDetachedFromWindow ()

这是在视图从窗口分离时调用的。 此时它不再有绘图表面。

onMeasure

void onMeasure (int widthMeasureSpec, 
                int heightMeasureSpec)

测量视图及其内容以确定测量宽度和测量高度。 此方法由measure(int, int)调用, measure(int, int)子类覆盖以提供其内容的准确和有效的度量。

合同:覆盖此方法时, 必须致电setMeasuredDimension(int, int)以存储此视图的测量宽度和高度。 不这样做会触发IllegalStateException ,由measure(int, int)引发。 调用超类' onMeasure(int, int)是一种有效的用法。

Measure的基类实现默认为背景大小,除非MeasureSpec允许更大的大小。 子类应该覆盖onMeasure(int, int)以提供更好的内容度量。

如果此方法被覆盖,则子类的责任是确保测量的高度和宽度至少为视图的最小高度和宽度( getSuggestedMinimumHeight()getSuggestedMinimumWidth() )。

Parameters
widthMeasureSpec int: horizontal space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.
heightMeasureSpec int: vertical space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.

Hooray!