如果您使用actionbarsherlock你必須做水木清華這樣
@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
menu.add(0, 1, 1, R.string.ac_refresh).setIcon(R.drawable.ic_navigation_refresh).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add(0, 2, 2, R.string.ac_settings).setIcon(R.drawable.ic_action_settings).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add(0, 3, 3, R.string.ac_favourite).setIcon(isFavouriteChannel(channel) ? R.drawable.ic_rating_important : R.drawable.ic_rating_not_important).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add(0, 4, 4, R.string.ac_search ).setIcon(R.drawable.ic_action_search).setActionView(R.layout.action_search)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
return super.onCreateOptionsMenu(menu);
}
看看setActionView(R.layout.action_search) - 這是XML文件文本視圖。如果你想你的其他動作圖標apeear總是你應該使用MenuItem.SHOW_AS_ACTION_ALWAYS
這是我認爲[google地圖(谷歌地圖操作欄http://vojtechbartos.com /mapyactionbar.png) – 2012-07-09 13:19:53
你想要的是添加一個自定義視圖到你的操作欄。 Api Ref:http://developer.android.com/reference/android/app/ActionBar.html#setCustomView(int) 並將其稱爲: getActionbar.setCustomView(R.layout.mySearchbar); – andreasg 2012-07-09 13:20:43
謝謝!:)我做了完全像你說的..我創建了佈局search_bar.xml中有一個EditText在其中.. 然後我寫這個'actionBar = getSupportActionBar(); actionBar.setCustomView(R.layout.search_bar); actionBar.setDisplayShowCustomEnabled(true);'在activity中的onCreate方法..它的工作原理! 所以......真的謝謝你!:) – 2012-07-09 15:46:03