2014-01-03 4 views
1

У меня есть следующий код:Как настроить ActionBar Название в Android

viewPager = (ViewPager) findViewById(R.id.pager); 
actionBar = getActionBar(); 
mAdapter = new TabPagerAdapter(getSupportFragmentManager(), myAccount); 

viewPager.setAdapter(mAdapter); 
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); 
actionBar.setCustomView(R.layout.actionbar); 
actionBar.setHomeButtonEnabled(false); 
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

// ADD TABS 
for (String tab_name : tabs) { 
    actionBar.addTab(actionBar.newTab().setText(tab_name) 
      .setTabListener(this)); 
} 

И это результат кода выше:

Android actionbar title

Что я хотел бы сделать, это пусть мой заголовок будет помещен над моими вкладками, а не наоборот, как видно на картинке. Как мне это сделать?

* EDIT 1 *

я могу добиться этого с помощью следующего кода (не используя пользовательский макет)

viewPager = (ViewPager) findViewById(R.id.pager); 
actionBar = getActionBar(); 
mAdapter = new TabPagerAdapter(getSupportFragmentManager(), myAccount); 

viewPager.setAdapter(mAdapter); 
actionBar.setHomeButtonEnabled(false); 
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

// ADD TABS 
for (String tab_name : tabs) { 
    actionBar.addTab(actionBar.newTab().setText(tab_name) 
      .setTabListener(this)); 
} 

Вот скриншот:

Without using custom layout

I я пытаюсь достичь этого, но используя cu stom layout

ответ

0
private String[] tabs = { "English", "Tamil", "Hindi" }; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     viewPager = (ViewPager) findViewById(R.id.pager); 
     actionBar = getActionBar(); 
     mAdapter = new TabsPagerAdapter(getSupportFragmentManager()); 

     viewPager.setAdapter(mAdapter); 
     actionBar.setHomeButtonEnabled(false); 
     actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

     for (String tab_name : tabs) { 
      actionBar.addTab(actionBar.newTab().setText(tab_name) 
        .setTabListener(this)); 
     } 

Они передают массив строк в закладки, как здесь, tamil, english, hindi. Измените это на все, что хотите.

+0

Ум, спасибо за ответ, но я хотел бы сделать это, чтобы поменять положение вкладок с моим заголовком в ActionBar (название поверх моих вкладок). – Jeremy

+0

Экран действия означает, что он всегда находится на верхнем уровне, ват вы спрашиваете. сворачивание баров действия ниже невозможно. – kathir

+0

, пожалуйста, обратитесь к моему правлению. 1 – Jeremy