我正在使用ActionbarSherlock库来实现Android 2.1 API 7平台的操作栏。 Sherlock库已成功导入我自己的项目。
然后,在我的项目中,我有res/menu/action_menu.xml
:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/test1"
android:title="@string/test_1"
android:showAsAction="ifRoom"
/>
<item android:id="@+id/test2"
android:title="@string/test_2"
android:showAsAction="ifRoom"
/>
</menu>
我的活动:
import android.support.v4.app.ActionBar;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.Menu;
import android.support.v4.view.MenuItem;
public class MyActivity extends FragmentActivity {
@Override
protected void onStart() {
super.onStart();
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
}
...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.action_menu, menu);
return true;
}
}
使用上面的代码,我的应用程序有一个操作栏。 但问题是上述菜单xml文件中定义的所有项目都显示在操作栏的右侧,操作栏的左侧部分是左空白。
你可能已经在我的活动代码中注意到了,我有:
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
以上两行代码在我的活动 onStart()
回调中定义,该回调会禁用操作栏默认文字和图标。
但是,如何在菜单xml文件中定义我的自定义项目,以便在操作栏上显示均匀,而不是仅显示在操作栏的右侧?