根据http://developer.android.com/design/patterns/actionbar.html#considerations-split-action-bars我可以将我的操作栏拆分为三个位置。对于我的情况,我希望前两个位置始终可见:主操作栏和顶栏。但绝不是底栏。我怎么能这样做?目前我只能显示主要操作栏。我基本上想要设计Google Play应用。
基本上我已经从http://developer.android.com/guide/topics/ui/actionbar.html#ActionItems
复制并粘贴和研究答案 0 :(得分:1)
如果您希望Google Play App的设计可以使用此
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
如需进一步参考,您还可以在此处查看教程 http://developer.android.com/training/implementing-navigation/lateral.html#tabs
答案 1 :(得分:1)
由于导航标签为deprecated in Android L,您应该考虑使用支持库的PagerTabStrip或PagerSlidingTabStrip(专门用于模仿Google Play的设计)来添加标签。
答案 2 :(得分:0)
如果您未在uiOptions="splitActionBarWhenNarrow"
中设置manifest
,则不会获得第三部分。 “L”开发者预览版中不推荐使用操作栏标签。我建议您不要使用它。我认为Google Play正在使用SlidingTabsBasic
如果您坚持使用actionBar标签,最后可以这样做:
final ActionBar actionBar=getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
String[] mTabNames = tabNames;
for (int i = 0; i < mTabNames.length; i++) {
ActionBar.Tab tab1=actionBar.newTab();
tab1.setText(tabNames[i]);
tab1.setTabListener(this);
actionBar.addTab(tab1);
}
并且对于您的标签监听器,您可以将以下代码添加到您的活动中。
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
}
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
并且不要忘记implements ActionBar.TabListener
!!