删除NavigationTabBar中的可滑动手势

时间:2017-02-07 12:53:08

标签: java android static-libraries

我已经使用this库来添加类似于布局的Instagram,但我想删除选项卡中的可滑动手势,并仅在单击选项卡时切换选项卡。我无法在功能中找到任何东西。

public class TabsActivity extends android.support.v4.app.FragmentActivity {


    @Override
    protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tabs);
    initUI();
    }

    private void initUI() {
    if (getIntent().getBooleanExtra("LOGOUT", false)) {
        finish();
    }
    List<Fragment> fragments = new ArrayList<>();
    TabsActivityAdapter dashPagerAdapter = new TabsActivityAdapter(getSupportFragmentManager(), fragments);


    final ViewPager viewPager = (ViewPager) findViewById(R.id.vp_horizontal_ntb);
    viewPager.setAdapter(dashPagerAdapter);
    viewPager.setOffscreenPageLimit(2);

    viewPager.getAdapter().notifyDataSetChanged();
    final String[] colors = getResources().getStringArray(R.array.tabcolors);

    final NavigationTabBar navigationTabBar = (NavigationTabBar) findViewById(R.id.ntb_horizontal);

    final ArrayList<NavigationTabBar.Model> models = new ArrayList<>();
    models.add(
            new NavigationTabBar.Model.Builder(

                    getResources().getDrawable(R.drawable.home),
                    Color.parseColor(colors[0]))
                    .selectedIcon(getResources().getDrawable(R.drawable.home))
                    .title("Home")
                    .badgeTitle("NTB")
                    .build()
    );

    models.add(
            new NavigationTabBar.Model.Builder(
                    getResources().getDrawable(R.drawable.group),
                    Color.parseColor(colors[1]))
                    .selectedIcon(getResources().getDrawable(R.drawable.group))
                    .title("Groups")
                    .badgeTitle("with")
                    .build()
    );
    models.add(
            new NavigationTabBar.Model.Builder(
                    getResources().getDrawable(R.drawable.profile),
                    Color.parseColor(colors[3]))
                    .selectedIcon(getResources().getDrawable(R.drawable.profile))
                    .title("Profile")
                    .badgeTitle("icon")
                    .build()
    );
    navigationTabBar.setBgColor(Color.parseColor("#424242"));
    navigationTabBar.setActiveColor(Color.parseColor("#ffffff"));
    navigationTabBar.setInactiveColor(Color.parseColor("#9E9E9E"));
    navigationTabBar.setModels(models);
    navigationTabBar.setViewPager(viewPager, 0);
    navigationTabBar.setAnimationDuration(0);
    navigationTabBar.setIsSwiped(false);
    navigationTabBar.setBehaviorEnabled(false);

    navigationTabBar.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(final int position, final float positionOffset, final int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(final int position) {
            navigationTabBar.getModels().get(position).hideBadge();

        }

        @Override
        public void onPageScrollStateChanged(final int state) {

        }
    });

    }
}

activity_tabs.xml

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical">

<android.support.v4.view.ViewPager
    android:id="@+id/vp_horizontal_ntb"
    android:layout_width="match_parent"
    android:layout_height="0dp"

    android:layout_weight="1"/>

<devlight.io.library.ntb.NavigationTabBar
    android:id="@+id/ntb_horizontal"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    app:ntb_badge_gravity="top"

    app:ntb_badge_position="right"
    app:ntb_badged="true"
    app:ntb_scaled="true"
    app:ntb_tinted="true"
    android:isScrollContainer="true"
    app:ntb_active_color="#3d3939"
    app:ntb_title_mode="all"
    app:ntb_titled="true"
    app:ntb_swiped="false"/>
</LinearLayout>

如果这不起作用,任何人都可以建议替代图书馆。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

尝试在代码中设置navigationTabBar.setIsSwiped(false);或从xml

设置
<devlight.io.library.ntb.NavigationTabBar
android:id="@+id/ntb"
android:layout_width="match_parent"
android:layout_height="50dp"
app:ntb_swiped="false"
...../>