android splitActionBarWhenNarrow不起作用

时间:2015-01-20 13:45:18

标签: android

目前即时效果像facebook“pinboard”,所以我制作了ActionBarActivity,其中包含一些标签来分隔内容。我使用ListFragment来显示帖子。一切都很好。现在我想在应用程序的底部部分使用actionBar(或只是制表符)。我发现splitActionBarWhenNarrow可以解决它......但它没有。即使我在条形图中放入20个标签,它也不会分裂...它只是得到了smth。像滑动/滑动选项。你们中的任何人都知道如何解决它,还是有一种不同的方式,然后splitActionBarWhenNarrow? 我没有通过menu.xml btw添加我的标签。这是我的文件:

的Manifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.forbiddencodex.customlistview" >

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme"
        android:uiOptions="splitActionBarWhenNarrow">

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

MainActivity:

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // Set up the action bar.
    final ActionBar actionBar = getSupportActionBar();
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    actionBar.setDisplayShowHomeEnabled(false);  // hides action bar icon
    actionBar.setDisplayShowTitleEnabled(false); // hides action bar title

    // Create the adapter that will return a fragment for each of the three
    // primary sections of the activity.
    mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());

    // Set up the ViewPager with the sections adapter.
    mViewPager = (ViewPager) findViewById(R.id.pager);
    mViewPager.setAdapter(mSectionsPagerAdapter);

    // When swiping between different sections, select the corresponding
    // tab. We can also use ActionBar.Tab#select() to do this if we have
    // a reference to the Tab.
    mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
        @Override
        public void onPageSelected(int position) {
            actionBar.setSelectedNavigationItem(position);
        }
    });

    // For each of the sections in the app, add a tab to the action bar.
    for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) {
        // Create a tab with text corresponding to the page title defined by
        // the adapter. Also specify this Activity object, which implements
        // the TabListener interface, as the callback (listener) for when
        // this tab is selected.
        actionBar.addTab(
                actionBar.newTab()
                        .setText(mSectionsPagerAdapter.getPageTitle(i))
                        .setTabListener(this));
    }
}

1 个答案:

答案 0 :(得分:0)

首先,splitActionBarWhenNarrow或Android 5.0 +不支持appcompat-v7

其次,splitActionBarWhenNarrow并未在任何Android版本的底部显示标签。

第三,你不能控制操作栏标签的位置,或者它们是否是标签(而不是Spinner),因为这取决于操作栏的实现。

第四,Android 5.0中不推荐使用操作栏标签。 Google希望您使用其他一些标签选项,例如ViewPager带标签指示符(例如PagerTabStrip)。