1

現在、次のように 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」の一番下に合わせようとして頭を机にぶつけていました。助言がありますか???

4

1 に答える 1

0

これが遅い答えであることは知っていますが、何か他のものを探しているあなたの質問に出くわしました-これは誰かを助けることができるでしょうか?

代わりにポップアップ ウィンドウを使用できませんでしたか? そうすれば、重力を画面の中央に設定でき、通常のダイアログが必要になります。

メニューを別のビューの下部または側面などに固定する必要がある場合にのみ、ポップアップメニューを使用しました(アクションバーアイテムに使用しました)。

ポップアップ ウィンドウはドロップ ダウン メニューとして表示することもできます

ポップアップウィンドウのミニチュートリアルへのリンクは次のとおりです。

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

于 2013-07-25T21:40:38.097 に答える