目前我的 ActionBar 设置如下:
ActionBar actionBar = getActionBar();
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.addTab(actionBar.newTab().setText("Tab 1").setTabListener(this));
actionBar.addTab(actionBar.newTab().setText("Tab 2").setTabListener(this));
actionBar.addTab(actionBar.newTab().setText("Tab 3").setTabListener(this));
actionBar.addTab(actionBar.newTab().setText("Tab 4").setTabListener(this));
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_USE_LOGO);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
当用户单击选项卡 3 时,我希望有一个可供选择的项目的下拉列表。目前我已经实现了如下:
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
TextView tv = (TextView)findViewById(R.id.hello);
if (tab.getText() == "Tab 3") {
PopupMenu menu = new PopupMenu(this, tv);
menu.getMenuInflater().inflate(R.menu.options_menu, menu.getMenu());
menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
TextView tv = (TextView)findViewById(R.id.hello);
public boolean onMenuItemClick(MenuItem item) {
tv.setText(item.getTitle());
return true;
}
});
menu.show();
} else {
tv.setText(tab.getText());
}
}
问题是菜单与 TextView 的底部对齐,因为这是它绑定到的视图。一直把我的头撞在桌子上,试图将它与“Tab 3”的底部对齐。有什么建议么???