2013-09-05 3 views
3

У меня есть хорошая установка ActionBarSherlock с тремя вкладками. Левая и правая вкладки настроены так же, как значки, а средняя - это настраиваемый макет.Центрирующие вкладки в ActionBarSherlock

В портретном режиме это выглядит великолепно. Вкладки красиво сосредоточены в панели действий, и все хорошо с миром: enter image description here

Однако в ландшафтном режиме, вкладки смываются слева: enter image description here

Вот как настроить мой вкладки:

Tab leftTab = mActionBar.newTab().setIcon(R.drawable.ic_action_login_black).setTabListener(tabListener); 
mActionBar.addTab(leftTab); 

Tab centerTab = mActionBar.newTab().setCustomView(R.layout.actionbar_logo).setTabListener(tabListener); 
centerView = (RelativeLayout) centerTab.getCustomView(); 
mActionBar.addTab(centerTab, true); 

Tab rightTab = mActionBar.newTab().setIcon(R.drawable.ic_action_video_black).setTabListener(tabListener); 
mActionBar.addTab(rightTab); 

А вот мой XML для этого пользовательского вида на вкладке центра:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="48dp" 
    android:clickable="false" 
    android:focusable="false" 
    android:focusableInTouchMode="false" > 

    <ImageView 
     android:id="@+id/my_logo" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:src="@drawable/my_logo" /> 

</RelativeLayout> 

Если это имеет значение, я использую minSdkVersion = 15.

Я хочу, чтобы вкладки были центрированы, как и в портретном режиме. Это возможно?

+0

Вы должны создать макет в папке/layout и в/layout-land с тем же именем, но с разными атрибутами? например, «fitXY», если это ImageView ... и т. д., и использовать маржу и дополнение тщательно –

+0

Но как я могу управлять макетом всей панели действий? Насколько я могу судить, я контролирую только макеты отдельных вкладок. – spitzanator

+0

Да, вы правы, вы можете сделать только макет для вкладки –

ответ

0

Использование android: layout_gravity = "fill_horizontal" в корне вашего RelativeLayout. Это приведет к тому, что относительная компоновка фактически расширится, чтобы заполнить панель действий, в свою очередь, заставляя все правильно размещать.

Смежные вопросы