0

プロジェクトに ABS を追加しました。このアクションバーの左端にボタンを追加したいと考えています。これを行うことで、右側にボタンを追加することができました:

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getSupportMenuInflater();
        inflater.inflate(R.menu.actionbarmenu, menu);
        return true;
    }

    public boolean onOptionsItemSelected(MenuItem item) {

        switch(item.getItemId()) {

        case R.id.menuSlider:
            initializeSlideMenu();
            break;
        }

        return false;
    }

ユーザーがこのボタンを押すと、スライダーメニューが画面に表示されます。しかし、このボタンをアクションバーの左側に配置したいと思います。設定する必要のある XML 属性はありますか? これに関してGoogleで何も見つかりませんでした。間違った検索キーで検索したのかもしれません。

アプリケーション アイコンにアクションを追加します。下の画像を参照してください。

ここに画像の説明を入力

ありがとう!

編集

私はこれを試しました:

@Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch(item.getItemId()) {

        case R.id.menuSlider:
            initializeSlideMenu();
            break;
        case android.R.id.home:
            initializeSlideMenu();
            break;
        }

        return super.onOptionsItemSelected(item);
    }

最初caseのケースは問題なく動作しますが、2 番目のケースではスライドメニューがトリガーされません。

4

1 に答える 1

1

上ボタンにアクションを設定する方法は次のとおりですが、上ボタンにカスタム アクションを設定する前に、こちらをお読みください: http://developer.android.com/design/patterns/navigation.html#up-vs-戻る

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                // This is called when the Home (Up) button is pressed in the Action Bar.
        }
        return super.onOptionsItemSelected(item);
    }

これが機能する前に、このスニペットを有効にする必要がonCreateあります (アクティビティのメソッドに追加します)。

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

編集: 質問を読み直してください。SliderMenu を表示しても問題ありません。それでも、設計ガイドを壊さないでください。

于 2013-01-25T14:32:47.037 に答える