2

我正在使用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 文件中定义的自定义项均匀地显示在操作栏上,而不是只显示在操作栏的右侧?

4

0 回答 0