5

Bir Android uygulaması geliştiriyorum, ActionBarSherlock kütüphanesini kullanarak. Bir etkinlikte, daraltılmış bir ActionBar (alt kısımdaki eylem öğeleri) ile birlikte sekmeli gezinme kullanıyorum.Sekmelerdeki eylemlerin çökmesi ActionBar

Bu resimde Activity numarasını geçerli durumda görebilirsiniz: Sekmeler ikinci sırada itilir. sekmelerinde ikinci satırda, üst satıra olmalıdır:

Current ActionBar

aşağıdaki resimde

ben bunu istiyorum Activity şekilde görebilirsiniz

. Zaten ActionBar ve ActionBarSherlock belgelerini okudum, ancak bu davranışı zorlamak için hiçbir yol bulamadı.

The wished ActionBar layout

Bu ActionBar oluşturmak için kullanılan geçerli kod vardır.

public class AdminActivity extends SherlockFragmentActivity { 

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

    ActionBar actionBar = getSupportActionBar(); 
    actionBar.setDisplayHomeAsUpEnabled(true); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

    ActionBar.Tab itemsTab = actionBar.newTab().setText(R.string.label_tab_items); 
    ActionBar.Tab usersTab = actionBar.newTab().setText(R.string.label_tab_users); 

    actionBar.addTab(itemsTab); 
    actionBar.addTab(usersTab); 
} 

Herhangi bir fikir?

+1

Unvanınız "önlemek" diyor ama soru aslında, 'Tabs'' ActionBar' içine çökmeye istiyorum önerir:

//pre-ICS if (actionBarSherlock instanceof ActionBarImpl) { enableEmbeddedTabs(actionBarSherlock); //ICS and forward } else if (actionBarSherlock instanceof ActionBarWrapper) { try { Field actionBarField = actionBarSherlock.getClass().getDeclaredField("mActionBar"); actionBarField.setAccessible(true); enableEmbeddedTabs(actionBarField.get(actionBarSherlock)); } catch (Exception e) { Log.e(TAG, "Error enabling embedded tabs", e); } } //helper method private void enableEmbeddedTabs(Object actionBar) { try { Method setHasEmbeddedTabsMethod = actionBar.getClass().getDeclaredMethod("setHasEmbeddedTabs", boolean.class); setHasEmbeddedTabsMethod.setAccessible(true); setHasEmbeddedTabsMethod.invoke(actionBar, true); } catch (Exception e) { Log.e(TAG, "Error marking actionbar embedded", e); } } 

da bu blog yayınında bakın. – adneal

+0

Ben düzeltdim, teşekkürler! – damaxxed

cevap