And*_*ers 8 android android-layout android-actionbar
我有一个带有徽标,标题,三个标签和一个操作项的ActionBar.
在纵向模式下,一切看起来都不错,因为选项卡被移动到堆叠的ActionBar,如下所示:__ _ __ _ __ _ __ _ __ _ __
#我的标题¤
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
标签1 | 标签2 | 标签3
__ _ __ _ __ _ __ _ __ _ __
但在横向模式下,标题会被截断,因为标签会移动到顶部的ActionBar,如下所示:__ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
#我... | 标签1 | 标签2 | 标签3 | ¤___
__ _ __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
无论如何,我可以告诉ActionBar标题永远不会被截断吗?如果没有,我至少可以设置标题的宽度吗?(即使在横向模式下,如果选项卡移动到堆叠的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)));
}
}
Run Code Online (Sandbox Code Playgroud)
我想如果你想要固定标题那么在菜单文件夹下你将有一个像这样的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>
Run Code Online (Sandbox Code Playgroud)
在上面的代码中android:showAsAction起着至关重要的作用。如果你想要任何应该始终显示的项目,那么你应该使用 android:showAsAction="always"。这肯定会解决你的问题。
我没有使用过 SherlockFragmentActivity 但我认为这可以帮助你很多。
我建议您通过菜单文件夹的 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();
Run Code Online (Sandbox Code Playgroud)
也通过此更改来解决您的问题
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.activity_action_bar_eg, menu);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2191 次 |
| 最近记录: |