アクションバーの右端に1つの画像を表示したい。いくつかのコードチェックに応じて、このイメージを実行時に設定したいと思います。誰かが私にそれについて行く方法を教えてもらえますか?
ありがとう
アクションバーの右端に1つの画像を表示したい。いくつかのコードチェックに応じて、このイメージを実行時に設定したいと思います。誰かが私にそれについて行く方法を教えてもらえますか?
ありがとう
これを使って。このコードは、右上にR.drawable.refreshというアイコンが付いた更新ボタンを追加します。十分なスペースがある場合にのみアイコンが表示され、それ以外の場合はメニューに表示されます
private Menu myMenu
public void changeMenu (int resource) {
myMenu.getItem(0).setIcon(resource); //here resource is your R.drawable.insertid
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
// getMenuInflater().inflate(R.menu.activity_main, menu);
myMenu = menu;
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.activity_main, menu);
menu.add("Refresh").setIcon(R.drawable.refresh)
.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
doStuff();
return false;
}
}).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
return super.onCreateOptionsMenu(menu);
}
コードを変更したい場所でchangeMenuを呼び出すだけで、ドローアブルIDを渡すことができます。
編集:これをアクティビティに貼り付けて、要求するインポートを追加します。必要に応じて、独自のドローアブルを追加する必要があります。アイコンは測定することを忘れないでください
実行時に変更したい場合は、(onCreateOptionsMenu で) メニューを作成し、メニュー項目を保存する必要があります。このような
MenuItem changeableMenuItem = menu.add("new Item");
changeableMenuItem.setIcon
アイコンを変更するために呼び出すことができるようにchangeableMenuItem
なりました。クラス内にフィールドを作成すると、クラス内のどこでもアイコンを変更できます。
メニュー項目の作成方法がわからない場合は、ダンテの回答を参照できます。