我正在使用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);
以上两行代码是在我的Activity onStart()
回调中定义的,它们禁用了操作栏默认文本和图标。
但是我怎样才能让我在菜单 xml 文件中定义的自定义项均匀地显示在操作栏上,而不是只显示在操作栏的右侧?