始终在ActionBar中显示完整的标题

我有一个标志,标题,三个标签和一个行动项目的ActionBar。

在纵向模式下一切看起来不错,因为选项卡被移动到堆叠的ActionBar,如下所示:__ _ _ _ _ _ _ _ _ _ _ _ _ __
#我的标题¤
_ _ _ _ _ _ _ _ _ _ _ _ _ __ _
选项卡1 | 表2 | Tab 3
__ _ __ _ __ _ __ _ __ _ __

但在横向模式下,标题会被截断,因为标签被移动到顶部的ActionBar,如下所示:__ _ _ _ _ _ _ _ _ _ _ _ _ __
#我的… | 选项卡1 | 表2 | 表3 | ¤
__ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ___

无论如何,我可以告诉ActionBar标题不应该被截断? 如果没有,我可以至less设置标题的宽度吗? (即使在横向模式下,标签被移动到堆叠的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))); } } 

Solutions Collecting From Web of "始终在ActionBar中显示完整的标题"

我想如果你想要固定的标题,然后在菜单文件夹下,你将有一个XML文件

 <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> 

在上面的代码中, android:showAsAction起着至关重要的作用。如果你想要任何应该显示的东西,那么你应该使用android:showAsAction =“always”。这样一定会解决你的问题。

我没有使用SherlockFragmentActivity,但我认为这可以帮助你很多。

我build议你通过你的菜单的文件夹的XML文件处理,你的java文件中的以下处理。代码如下: – 在您的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(); 

对于您的问题的解决scheme,此更改

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