如何在android中使用java代码对齐动态标题操作栏



我想使用java代码在操作栏中居中对齐动态标题。我的标题每次都会根据字符串变量CoName而改变。请帮我把ActionBar的标题放在中间提前感谢!

我的android activity java代码是:

public class BaseActivity extends ActionBarActivity
{
private static final int MENU_ITEM1 = 0;
private static final int MENU_ITEM2 = 1;
private static final int MENU_ITEM3 = 2;
private static final int Menu_ITEM4 = 3;
private ImageButton SalesButton;
private SharedPreferences SharedPreferences;
//private String UserName;
private TextView tv2;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.baseactivity);

     SharedPreferences =getSharedPreferences(PREF_NAME,  LoginActivity.MODE_PRIVATE);
    CoName = SharedPreferences.getString("CONAME", null);
    Username = SharedPreferences.getString("USERNAME", null);

    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayShowHomeEnabled(false);
    actionBar.setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE); 
     getSupportActionBar().setCustomView(R.layout.baseactivity);
     actionBar.setTitle(CoName);

}
@Override
public boolean onCreateOptionsMenu(Menu menu) {

    menu.add(Menu.NONE, MENU_ITEM1, Menu.NONE, Username);
    getMenuInflater().inflate(R.menu.commonmenu, menu);
    //menu.add(Menu.NONE, MENU_ITEM2, Menu.NONE, "Setting");
    //menu.add(Menu.NONE, MENU_ITEM3, Menu.NONE, "Refresh");
    //menu.add(Menu.NONE, Menu_ITEM4, Menu.NONE,"Log Out");
    return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId()) 
     {
        case MENU_ITEM1 :  
                    Toast.makeText(this, "Clicked: Menu No. 1", Toast.LENGTH_SHORT).show();
                    return true;
        case R.id.menu2:
                    Toast.makeText(this, "Clicked: Menu No. 2 ", Toast.LENGTH_SHORT).show();
                    return true;
        case R.id.menu3 :
        Toast.makeText(this, "Clicked: Menu No. 3 ", Toast.LENGTH_SHORT).show();
        return true;
        case R.id.menu4:
            Intent intent = new Intent(this, LoginActivity.class);
            startActivity(intent);

        default:
               return super.onOptionsItemSelected(item);    
    }
}
}

use

try getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); 

而不是

 getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE); 

最新更新