Android 使用“操作栏主页”按钮作为弹出菜单的定位视图

Android 使用“操作栏主页”按钮作为弹出菜单的定位视图,android,Android,是否可以使用Home按钮触发弹出菜单?由于尚未设置操作视图,以下代码将不起作用 public boolean onOptionsItemSelected(MenuItem item){ switch (item.getItemId()) { case android.R.id.home: PopupMenu popup = new PopupMenu(JournalList.this, item.getActionView()); popup.inflate(R.

是否可以使用Home按钮触发弹出菜单?由于尚未设置操作视图,以下代码将不起作用

public boolean onOptionsItemSelected(MenuItem item){
  switch (item.getItemId()) {
case android.R.id.home:
       PopupMenu popup = new PopupMenu(JournalList.this, item.getActionView());
       popup.inflate(R.menu.list_select_menu);
   popup.show();
}
主页按钮也无法通过以下方式访问,findItem无法找到菜单项:

public boolean onCreateOptionsMenu(Menu menu) {
   Button img = new Button(this);
   img.setText("Pop");
   menu.findItem(android.R.id.home).setActionView(someImageButton);
}
那么,ActionBar Home按钮的哪一部分可以用作锚定视图,或者是否有方法首先设置视图


谢谢。

好吧,您没有办法使用home按钮,因此无法将其用作
弹出菜单的锚定。请考虑使用<代码>导航> Mod DELISH 使用<代码> ActualBar ,它在主页按钮和标题的右侧放置<代码> SPONE>代码>,在这里您提供 SpNeL转接器< /代码> .< /P> < p>您可以向您的根视图组添加<0px左上方的锚视图,

并将此视图用作弹出菜单锚定视图

我认为这是最简单的方法。

只要替换

       PopupMenu popup = new PopupMenu(JournalList.this, item.getActionView());
对此

       PopupMenu popup = new PopupMenu(JournalList.this, findViewById(item.getItemId()));

AstridTask应用程序似乎能够使用home按钮,或者它的导航栏完全是定制的。我使用了你提到的微调器,但我认为除了微调器之外,home按钮还可以直观地为用户提供帮助、关于等,就像使用OSX的苹果图标一样。@achristoph:你认为直观的东西将与数百万安卓用户认为直观的东西背道而驰。这些用户将使用其他坚持使用的应用程序,并且会想知道为什么你的应用程序没有其他应用程序的行为方式。如果你不打算遵循动作栏的既定模式,就不要使用动作栏——自己滚动其他东西。