8

現在、アプリケーションのテーマサポートを実装しており、その一部でアクションバーアプリのアイコンが変更されています。ホロライトを選択したときに暗いアイコンを使用したい。アクションバーアプリのアイコンが設定されている部分を除いて、すべてがメソッドで実行されます。私が使用しようとしているコードは次のとおりです。

getActionBar();
ActionBar.setIcon(R.drawable.my_icon);

「ここで利用できるそのような参照はありません」は私が得ているエラーです。これはどのように正しく行う必要がありますか?

ところで、私minSdkVersion14アクションバーのシャーロックのものではありません。

4

7 に答える 7

20
getActionBar();

アクションバーをすぐそこに投げています。getActionBar()のインスタンスを返します。ActionBarこれを呼び出す必要がありますsetIcon()。そのようです:

ActionBar actionBar = getActionBar();
actionBar.setIcon(R.drawable.my_icon);
于 2012-07-28T23:32:00.947 に答える
6

少し遅い答えですが、役に立つかもしれないと思いました。

アクティビティ内から: APIレベル14以上の場合:

getActionBar().setIcon(R.drawable.my_icon);

より低いAPIレベルの場合、ActionBarActivityを拡張してから、次のことを行う必要があります。

getSupportActionBar().setIcon(R.drawable.my_icon);

フラグメントの内部から: APIレベル14以上の場合:

getActivity().getActionBar().setIcon(R.drawable.my_icon);

より低いAPIレベルの場合、使用できます(アクティビティはActionBarActivityを拡張する必要があります):

((ActionBarActivity)getActivity()).getSupportActionBar().setIcon(R.drawable.my_icon);

どちらの場合も、アイコンまたはロゴを設定する前に、setDisplayShowHomeEnabled(true)を呼び出す必要があります。

((ActionBarActivity)getActivity()).getSupportActionBar().setDisplayShowHomeEnabled(true);

((ActionBarActivity)getActivity()).getSupportActionBar().setIcon(R.drawable.my_icon);
于 2015-05-11T05:02:42.017 に答える
2

私はこれを自分の用途に使用しています、そしてそれは私のために働いています。これがすべての助けになることを願っています

actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeAsUpIndicator(R.drawable.icon);
于 2016-04-07T07:49:41.783 に答える
0

drawable/参照するドローアブルを。の下のフォルダに追加する必要がありますres/

編集:Androidのインストールフォルダには、使用するストック画像がたくさんあります。あなたはおそらくそこにそれを見つけることができます。

于 2012-07-28T23:20:31.153 に答える
0

既存の答えは非常に正しいです。ただし、別の方法もあります。最小限のアプローチは

getActionBar().setIcon(R.drawable.my_icon);

、「すぐに仕事を終わらせる」を使用することです。:)

技術的な詳細:getActionBar()はデフォルトでオブジェクトを返すため、スコープ内のオブジェクトで明示的に受け取ることなく、オブジェクトを直接操作できます。

于 2014-05-25T10:15:39.420 に答える
0

に電話するsetIconだけでは十分ではありませんでした。

その前に、表示をアクティビティロゴからアクティビティアイコンに切り替える必要がありました。

actionBar.setDisplayUseLogoEnabled(false);

アクティビティアイコンとロゴの違いについては、Androidアイコンとロゴを参照してください。

于 2015-06-06T09:48:38.323 に答える
0

これを試して

    setSupportActionBar(toolbar);
    if (getSupportActionBar() != null)
    getSupportActionBar().setIcon(R.drawable.your_icon);
于 2018-01-22T08:19:02.443 に答える