6

私は ActionBarSherlock を使用しており、Google マップで知られているホーム ボタンと同様の機能が必要です。

Google マップのようなホームボタン

このコードでホームボタンを押すと、すでにQuickAction(http://code.google.com/p/simple-quickactions/ )を開くことができました:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
       View anchor = findViewById(R.id.text); // how do I get the home button view here?
       quickAction.show(anchor);
       return true;
    }
    return false;
}

ただし、アクティビティの単純な TextView をアンカー (R.id.text) として使用しています。そこでActionBarからホームボタンビューを取得するにはどうすればよいですか?

ああ、findViewById(android.R.id.home)またはfindViewById(item.getItemId())両方とも null を返します。

4

1 に答える 1

6

ホームビューはコンテンツビューの上とウィンドウの装飾に存在するため、アクセスできません。

Googleは、コンテンツビュー内に存在するHoneycomb以前のデバイスでカスタムアクションバーを使用します。これにより、このカスタムドロップダウンを作成できます。Honeycomb以降では、システムアクションバーで高度にカスタマイズされたバージョンのリストナビゲーションを使用します。

ActionBarSherlockを使用しているため、次の2つのオプションがあります。

  1. 新しいスタイルのナビゲーションに移動し、組み込みのリストナビゲーションをカスタマイズします。
  2. ホームビューを模倣するカスタムナビゲーションビューを提供します(たとえば、アプリアイコンが含まれています)。このカスタムビューを使用すると、カスタムポップアップメニューをアタッチできるアンカーを提供できます。
于 2012-04-17T08:35:10.207 に答える