Android ActionBarSherlock:如何访问主页按钮视图?

Android ActionBarSherlock:如何访问主页按钮视图?,android,android-actionbar,actionbarsherlock,Android,Android Actionbar,Actionbarsherlock,我使用的是ActionBarSherlock,我希望home按钮的功能与Google地图上的类似 在按下home按钮时,我已经成功地打开了一个QuickAction(),代码如下: @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: View anchor = findViewById(

我使用的是ActionBarSherlock,我希望home按钮的功能与Google地图上的类似

在按下home按钮时,我已经成功地打开了一个QuickAction(),代码如下:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
       View anchor = findViewById(R.id.text); // how do I get the home button view here?
       quickAction.show(anchor);
       return true;
    }
    return false;
}
但是,我使用活动的简单文本视图作为锚(R.id.text)。如何从ActionBar中检索home按钮视图


哦,和
findViewById(android.R.id.home)
findViewById(item.getItemId())
都返回null。

您无法访问主视图,因为它存在于内容视图上方和窗口装饰中

谷歌在内容视图中的预蜂窝设备上使用自定义操作栏。这就是允许他们制作此自定义下拉列表的原因。在蜂巢和更新版本上,他们在系统操作栏中使用高度定制的列表导航版本

由于您使用的是ActionBarSherlock,因此有两个选项:

  • 选择较新的样式导航并自定义内置列表导航
  • 提供一个模拟主视图的自定义导航视图(例如,其中包含应用程序图标)。使用此自定义视图,您将能够提供可附加自定义弹出菜单的锚定

  • 谢谢你,杰克,让我说清楚。再问两个问题,看看我是否理解正确:1。如果选择选项1,我必须自定义ActionBarSherlock库中的列表导航,对吗?2.选项2意味着我必须禁用home按钮并在那里添加我自己的视图?使用#1,您只需为用于列表导航的适配器(所选视图和下拉视图)提供自定义布局。您可以查看ICS上的应用程序,如地图或日历应用程序,了解其可定制性。对于#2,是的,您必须禁用正常的主页项目,因为您的主页项目将完全替换它。您好@JakeWharton,我们可以使用
    findViewById(R.id.abs#u home)回家图标?我的应用程序minSdk是10。