Most visited

Recently visited

ActionBarDrawerToggle

public class ActionBarDrawerToggle
extends Object implements DrawerLayout.DrawerListener

java.lang.Object
   ↳ android.support.v7.app.ActionBarDrawerToggle


该类提供了一种方便的方式,将 DrawerLayout和框架 ActionBar的功能绑定在一起,以实现抽屉导航的推荐设计。

要使用 ActionBarDrawerToggle ,请在您的活动中创建一个并调用以下与您的活动回调对应的方法:

在您的 ActivityonPostCreate拨打 syncState() ,以便在 onRestoreInstanceState发生后使指示符与链接的DrawerLayout的状态同步。

ActionBarDrawerToggle可以直接作为 DrawerLayout.DrawerListener ,或者如果您已经提供了自己的侦听器,请从您自己的每个侦听器方法中调用。

您可以通过在ActionBar主题中定义 drawerArrowStyle来自定义动画切换。

Summary

Nested classes

interface ActionBarDrawerToggle.Delegate

 

interface ActionBarDrawerToggle.DelegateProvider

允许实现Activity返回ActionBarDrawerToggle.Delegate以与ActionBarDrawerToggle一起使用。

Public constructors

ActionBarDrawerToggle(Activity activity, DrawerLayout drawerLayout, int openDrawerContentDescRes, int closeDrawerContentDescRes)

构建一个新的ActionBarDrawerToggle。

ActionBarDrawerToggle(Activity activity, DrawerLayout drawerLayout, Toolbar toolbar, int openDrawerContentDescRes, int closeDrawerContentDescRes)

用工具栏构建一个新的ActionBarDrawerToggle。

Public methods

View.OnClickListener getToolbarNavigationClickListener()

返回导航图标点击事件的回退监听器。

boolean isDrawerIndicatorEnabled()
void onConfigurationChanged(Configuration newConfig)

此方法应该永远在你被称为 ActivityonConfigurationChanged方法。

void onDrawerClosed(View drawerView)

DrawerLayout.DrawerListener回调方法。

void onDrawerOpened(View drawerView)

DrawerLayout.DrawerListener回调方法。

void onDrawerSlide(View drawerView, float slideOffset)

DrawerLayout.DrawerListener回调方法。

void onDrawerStateChanged(int newState)

DrawerLayout.DrawerListener回调方法。

boolean onOptionsItemSelected(MenuItem item)

此方法应该由你叫 ActivityonOptionsItemSelected方法。

void setDrawerIndicatorEnabled(boolean enable)

启用或禁用抽屉指示器。

void setHomeAsUpIndicator(Drawable indicator)

设置向上指示器以在抽屉指示器未启用时显示。

void setHomeAsUpIndicator(int resId)

设置向上指示器以在抽屉指示器未启用时显示。

void setToolbarNavigationClickListener(View.OnClickListener onToolbarNavigationClickListener)

DrawerToggle使用工具栏构建时,会在导航图标上设置点击侦听器。

void syncState()

将抽屉指示灯/可供件状态与链接的DrawerLayout同步。

Inherited methods

From class java.lang.Object
From interface android.support.v4.widget.DrawerLayout.DrawerListener

Public constructors

ActionBarDrawerToggle

ActionBarDrawerToggle (Activity activity, 
                DrawerLayout drawerLayout, 
                int openDrawerContentDescRes, 
                int closeDrawerContentDescRes)

构建一个新的ActionBarDrawerToggle。

给定的 Activity将被链接到指定的 DrawerLayout ,其操作栏的向上按钮将被设置为自定义可绘制。

该抽屉在抽屉关闭时显示汉堡图标,在抽屉打开时显示箭头。 它在抽屉打开时在这两个状态之间动画。

必须提供字符串资源来描述无障碍服务的打开/关闭抽屉动作。

Parameters
activity Activity: The Activity hosting the drawer. Should have an ActionBar.
drawerLayout DrawerLayout: The DrawerLayout to link to the given Activity's ActionBar
openDrawerContentDescRes int: A String resource to describe the "open drawer" action for accessibility
closeDrawerContentDescRes int: A String resource to describe the "close drawer" action for accessibility

ActionBarDrawerToggle

ActionBarDrawerToggle (Activity activity, 
                DrawerLayout drawerLayout, 
                Toolbar toolbar, 
                int openDrawerContentDescRes, 
                int closeDrawerContentDescRes)

用工具栏构建一个新的ActionBarDrawerToggle。

给定的Activity将被链接到指定的DrawerLayout ,并且工具栏的导航图标将被设置为自定义绘图。 使用此构造函数将设置工具栏的导航点击侦听器,以便在单击它时切换抽屉。

该抽屉在抽屉关闭时显示汉堡图标,在抽屉打开时显示箭头。 它在抽屉打开时在这两个状态之间动画。

必须提供字符串资源来描述无障碍服务的打开/关闭抽屉动作。

如果您将工具栏设置为活动的ActionBar,请使用 ActionBarDrawerToggle(Activity, DrawerLayout, int, int)

Parameters
activity Activity: The Activity hosting the drawer.
drawerLayout DrawerLayout: The DrawerLayout to link to the given Activity's ActionBar
toolbar Toolbar: The toolbar to use if you have an independent Toolbar.
openDrawerContentDescRes int: A String resource to describe the "open drawer" action for accessibility
closeDrawerContentDescRes int: A String resource to describe the "close drawer" action for accessibility

Public methods

getToolbarNavigationClickListener

View.OnClickListener getToolbarNavigationClickListener ()

返回导航图标点击事件的回退监听器。

Returns
View.OnClickListener The click listener which receives Navigation click events from Toolbar when drawer indicator is disabled.

也可以看看:

isDrawerIndicatorEnabled

boolean isDrawerIndicatorEnabled ()

Returns
boolean true if the enhanced drawer indicator is enabled, false otherwise

也可以看看:

onConfigurationChanged

void onConfigurationChanged (Configuration newConfig)

此方法应该永远在你被称为 ActivityonConfigurationChanged方法。

Parameters
newConfig Configuration: The new configuration

onDrawerClosed

void onDrawerClosed (View drawerView)

DrawerLayout.DrawerListener回调方法。 如果您不直接使用ActionBarDrawerToggle实例作为DrawerLayout的侦听器,则应该从您自己的侦听器对象调用此方法。

Parameters
drawerView View: Drawer view that is now closed

onDrawerOpened

void onDrawerOpened (View drawerView)

DrawerLayout.DrawerListener回调方法。 如果您不直接使用ActionBarDrawerToggle实例作为DrawerLayout的侦听器,则应该从您自己的侦听器对象调用此方法。

Parameters
drawerView View: Drawer view that is now open

onDrawerSlide

void onDrawerSlide (View drawerView, 
                float slideOffset)

DrawerLayout.DrawerListener回调方法。 如果您不直接使用ActionBarDrawerToggle实例作为DrawerLayout的侦听器,则应该从您自己的侦听器对象调用此方法。

Parameters
drawerView View: The child view that was moved
slideOffset float: The new offset of this drawer within its range, from 0-1

onDrawerStateChanged

void onDrawerStateChanged (int newState)

DrawerLayout.DrawerListener回调方法。 如果您不直接使用ActionBarDrawerToggle实例作为DrawerLayout的侦听器,则应该从您自己的侦听器对象调用此方法。

Parameters
newState int: The new drawer motion state

onOptionsItemSelected

boolean onOptionsItemSelected (MenuItem item)

此方法应该由你叫ActivityonOptionsItemSelected方法。 如果它返回true,那么你的onOptionsItemSelected方法应该返回true并跳过进一步处理。

Parameters
item MenuItem: the MenuItem instance representing the selected menu item
Returns
boolean true if the event was handled and further processing should not occur

setDrawerIndicatorEnabled

void setDrawerIndicatorEnabled (boolean enable)

启用或禁用抽屉指示器。 该指示器默认为启用。

当指示器被禁用时, ActionBar将恢复显示由 android.R.attr.homeAsUpIndicator属性中的 android.R.attr.homeAsUpIndicator主题提供的 Activity指示符,而不是动画抽屉字形。

Parameters
enable boolean: true to enable, false to disable

setHomeAsUpIndicator

void setHomeAsUpIndicator (Drawable indicator)

设置向上指示器以在抽屉指示器未启用时显示。

如果您将 null传递给此方法,则将使用主题的默认可绘制。

Parameters
indicator Drawable: A drawable to use for the up indicator, or null to use the theme's default

也可以看看:

setHomeAsUpIndicator

void setHomeAsUpIndicator (int resId)

设置向上指示器以在抽屉指示器未启用时显示。

如果您将0传递给此方法,则将使用主题的默认drawable。

Parameters
resId int: Resource ID of a drawable to use for the up indicator, or 0 to use the theme's default

也可以看看:

setToolbarNavigationClickListener

void setToolbarNavigationClickListener (View.OnClickListener onToolbarNavigationClickListener)

DrawerToggle使用工具栏构建时,会在导航图标上设置点击侦听器。 如果您想在DrawerToggle禁用时听取导航图标上的点击( setDrawerIndicatorEnabled(boolean) ,则应该与您的监听器一起调用此方法,并且当抽屉指示器被禁用时,DrawerToggle会将单击事件转发给该监听器。

Parameters
onToolbarNavigationClickListener View.OnClickListener

也可以看看:

syncState

void syncState ()

将抽屉指示灯/可供件状态与链接的DrawerLayout同步。

这应该从您的ActivityonPostCreate方法中调用,以便在DrawerLayout的实例状态恢复之后进行同步,以及在状态可能已经发生分歧的任何其他时间,以便不通知ActionBarDrawerToggle。 (例如,如果您在一段时间内停止转发相应的抽屉事件。)

Hooray!