2012-11-15 125 views
8

我有一個帶有徽標,標題,三個選項卡和一個操作項目的ActionBar。總是在ActionBar中顯示完整的標題

在縱向模式下一切看起來都很好,因爲標籤被移動到堆疊動作條,像這樣: __ _ __ _ __ _ __ _ __ _ __
#我的標題                           ¤
_
_ __ _ __ _ __ _ __ _ __ _
標籤1 |表2 |標籤3
__ _ __ _ __ _ __ _ __ _ __

但在橫向模式下的標題被截斷,因爲標籤被移動到頂部動作條,像這樣的: __ _ __ _ __ _ __ _ _ _ _ __ _ __ _ __ _ __
#我... |表1 |表2 |表3 |  ¤
__ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __

反正是有,我可以告訴標題不應該被截斷的ActionBar?如果沒有,我可以至少設置標題的寬度嗎? (如果標籤被連在橫向模式下移動到堆疊動作條這是確定對我來說)

編輯:請

代碼。那就是:

public class MyActivity extends SherlockFragmentActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

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

    actionBar.setTitle("My Long Title"); 

    actionBar.addTab(actionBar 
      .newTab() 
      .setText("Tab 1") 
      .setTabListener(
        new TabListener<MyFragment>(this, "tab1", 
          MyFragment.class, null))); 
    actionBar.addTab(actionBar 
      .newTab() 
      .setText("Tab 2") 
      .setTabListener(
        new TabListener<MyFragment>(this, "tab2", 
          MyFragment.class, null))); 
    actionBar.addTab(actionBar 
      .newTab() 
      .setText("Tab 3") 
      .setTabListener(
        new TabListener<MyFragment>(this, "tab3", 
          MyFragment.class, null))); 
} 
} 
+1

發佈您的代碼/ xml。 –

+0

@安德斯請發佈解決方案。如果你有一個 –

回答

0

我認爲,如果你想在固定的標題,那麼你將有一個像

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <group android:id="@+id/group" > 
     <item 
      android:id="@+id/menu1" 
      android:orderInCategory="100" 
      android:showAsAction="ifRoom" 
      android:title="@string/menu1"/> 

     <item 
      android:id="@+id/Search" 
      android:actionViewClass="android.widget.SearchView" 
      android:icon="@drawable/ic_action_search" 
      android:orderInCategory="100" 
      android:showAsAction="always" 
      android:title="@string/menu3"> 
     </item> 

     <item 
      .............. 
     </item> 

    </group> 

</menu> 

一個XML文件在上面的代碼Android的菜單文件夾下:showAsAction起着至關重要角色。如果你想要任何應該始終顯示的項目,那麼你應該使用android:showAsAction =「always」。這一定會解決你的問題。

我還沒有使用SherlockFragmentActivity,但我認爲這可以幫助你很多。

我建議你來處理,通過你的菜單與在Java file.Code以下處理文件夾的XML文件如下: - 在你的onCreate()試試這個: -

setContentView(R.layout.activity_action_bar_eg);//this is the xml file name inside the menu folder 
getActionBar().setHomeButtonEnabled(true); 
getActionBar().setDisplayShowTitleEnabled(false); 
ActionBar bar=getActionBar(); 
bar.show(); 

對於您的問題的解決方案,此更改也是

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     super.onCreateOptionsMenu(menu); 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.activity_action_bar_eg, menu); 
} 
+2

這不是真的回答這個問題,不是嗎?他不需要有動作按鈕(項目)。而且如果所有的ActionButton都已經隱藏了,並且由於Tabs,標題仍然被截斷? – NLemay

相關問題