私はActionBarの "home"アイコンを動的に変更したいと思います。これはActionBar.setIcon(...)でv14で簡単に行えますが、これまでのバージョンではこれを実現するための方法が見つかりません。Android:動的にActionBarアイコンを変更しますか?
答えて
は、Googleが提供するActionbarCompatコードを使用している場合、あなたはActionBarHelperBase経由でホームアイコンにアクセスすることができます。 API v4以降のJavaクラス。
//code snippet from ActionBarHelperBase.java
...
private void setupActionBar() {
final ViewGroup actionBarCompat = getActionBarCompat();
if (actionBarCompat == null) {
return;
}
LinearLayout.LayoutParams springLayoutParams = new LinearLayout.LayoutParams(
0, ViewGroup.LayoutParams.MATCH_PARENT);
springLayoutParams.weight = 1;
// Add Home button
SimpleMenu tempMenu = new SimpleMenu(mActivity);
SimpleMenuItem homeItem = new SimpleMenuItem(tempMenu,
android.R.id.home, 0, mActivity.getString(R.string.app_name));
homeItem.setIcon(R.drawable.ic_home_ftn);
addActionItemCompatFromMenuItem(homeItem);
// Add title text
TextView titleText = new TextView(mActivity, null,
R.attr.actionbarCompatTitleStyle);
titleText.setLayoutParams(springLayoutParams);
titleText.setText(mActivity.getTitle());
actionBarCompat.addView(titleText);
}
...
ActionBarActivityを拡張してそのように変更するアクティビティにアクセスできるホームボタンにコードを変更できる必要があります。
ハニカムはちょっと難しくて、そう簡単にアクセスできないようです。推測しても、そのidはandroid.R.id.homeである必要があります。そのため、ActionBarHelperHoneycomb.javaのビューから取得できます。
はい!ありがとうございました。 'Activity.findViewById(android.R.id.home)'が動作します。 – ab11
あなたのアクションバーはシャーロックと同じように動作し、メニュー項目に基づいており、これは私の解決策である場合:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem switchButton = menu.findItem(R.id.SwitchSearchOption);
if(searchScriptDisplayed){
switchButton.setIcon(R.drawable.menu_precedent);
}else{
switchButton.setIcon(R.drawable.icon_search);
}
return super.onPrepareOptionsMenu(menu);
}
ハニカムの場合は、sdkが提供するアクションバーを使用します。だから、v14で提供されているActionBar.setIcon()メソッドのハニカム相当物を見つけようとしています。 – ab11
このすばらしいスニペットをありがとう - しばらくこれを探していた! – aaronsnoswell
私のために働いた!ありがとう –
ActionBarは、マニフェストのandroid:logo属性を使用します供給される。これにより、アイコン(Launcher)とロゴ(ActionBarなど)に別々の描画可能なリソースを使用できます。
私はあなたがこのような何かを言う:あなたは `setIcon`呼び出すとき
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_menu_drawer);
- 1. ActionBarアイコンを変更する
- 2. Android drawable resources:アイコンの色/「背景」を動的に変更しますか?
- 3. ActionBarのアイコンを変更しています
- 4. AndroidでActionBarアイコンの間隔を個別に変更する方法は?
- 5. Android Actionbar SearchViewアイコンを変更して余分なスペースを取り除く
- 6. カスタムActionBarのタイトルを動的に変更する方法は?
- 7. AndroidでHTML5動画srcを動的に変更しますか?
- 8. ActionBarのHamBurgerアイコン
- 9. カレンダーアプリはどのようにアイコンを動的に変更しますか? (pixel android nougat)
- 10. jquery UIアイコンの動的変更
- 11. Android ICS + ActionBarタブ+オリエンテーションの変更
- 12. ActionBarでのAndroidアイテムのスタイルの変更
- 13. ロゴ(アイコン)とアプリ名をActionBarに追加しますか?
- 14. Android ActionBar:タブを動的に表示/非表示できますか?
- 15. カレンダーアプリのようにAndroidアプリのアイコンを動的に変更する方法はありますか?
- 16. マウスクリックのx、yに基づいて動的にJLabelアイコンを変更します。
- 17. Android:動的に通知アイコンを設定
- 18. ActionBar Colorを個別に変更しますか?
- 19. jQuery Mobileのアイコンを動的に変更する
- 20. extjs4アクション列アイコンを動的に変更する
- 21. 通知アイコンを動的に変更する
- 22. アプリのアイコンと名前を動的に変更する
- 23. Android ActionBarにプログラムで表示されるロゴを変更する
- 24. Android AndEngineは動的にテキストを変更します
- 25. androidのテキストビューの内容を動的に変更します
- 26. Androidスタジオは自動的にコードを変更します
- 27. Androidはソフトキーボードのキーを動的に変更します
- 28. Androidのビュー内部ビューを動的に変更します
- 29. Android listviewは動的に壁紙を変更します
- 30. サイズ変更アイコン+ Androidのテキストボタン
を参照してください何が起こるのか?そして、あなたがハニーコム前のもので何かを達成しようとしているなら、[ActionBarSherlock](http://actionbarsherlock.com/)を見てください。 – adneal
私はカスタマイズされたActionBar-esqueコンポーネントをpre-v11 ActionBarSherlockに似ています)。これはv11-v13(ハニカム)用です。私がhoneycombでsetIconを呼び出すと、methodNotfound例外が発生します。 – ab11
setIconは、APIレベル> = 14でのみ利用可能です。 – Sandra