1

目前我有動作條設置如下:的Android PopupMenu的動作條帶相結合的蜂窩

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」的底部。有什麼建議麼???

+0

沒有任何建議??? – Jesse

+0

我還沒有嘗試過你的代碼,但會PopupMenu菜單=新的PopupMenu(這,選項卡);不行? – brk3

回答

0

我知道這是一個遲到的答案,但我遇到了你的問題尋找別的東西 - 所以也許這可能有助於某人?

難道你不能使用彈出窗口而不是 - 這樣你可以將重力設置到屏幕中間,它會像一個常規的對話框。

我只在需要將菜單錨定到另一個視圖的底部或側面等(用於操作欄項目)時才彈出菜單。

彈出窗口也可顯示爲下拉菜單 - 但他們不包含菜單項,而他們有完全自定義佈局,所以它可以說是相當強大的。

這裏有彈出窗口鏈接到一個迷你型的教程:

http://www.androidhub4you.com/2012/07/how-to-create-popup-window-in-android.html