标签和抽屉菜单上的波纹效果

时间:2016-01-02 09:57:00

标签: java android xml android-studio

我正在使用此https://github.com/balysv/material-ripple

我无法理解如何使用这个

  

“如果在AdapterView中使用,则必须将rippleInAdapter设置为true”

我可以把它放到布局xml中没有任何问题,但在java中我不知道如何

这是我的java代码

public class StudentView extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
    private Toolbar toolbar;
    private TabLayout tabLayout;
    private ViewPager viewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_student_view);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        viewPager = (ViewPager) findViewById(R.id.viewpager);
        setupViewPager(viewPager);

        tabLayout = (TabLayout) findViewById(R.id.tabs);
        tabLayout.setupWithViewPager(viewPager);

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.setDrawerListener(toggle);
        toggle.syncState();

        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);

    }

    private void setupViewPager(ViewPager viewPager) {
        ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
        adapter.addFragment(new OneFragment(), "School");
        adapter.addFragment(new TwoFragment(), "Organization");
        viewPager.setAdapter(adapter);
    }

    @Override
    public void onBackPressed() {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }
    }



    class ViewPagerAdapter extends FragmentPagerAdapter {
        private final List<Fragment> mFragmentList = new ArrayList<>();
        private final List<String> mFragmentTitleList = new ArrayList<>();

        public ViewPagerAdapter(FragmentManager manager) {
            super(manager);
        }

        @Override
        public Fragment getItem(int position) {
            return mFragmentList.get(position);
        }

        @Override
        public int getCount() {
            return mFragmentList.size();
        }

        public void addFragment(Fragment fragment, String title) {
            mFragmentList.add(fragment);
            mFragmentTitleList.add(title);
        }

        @Override
        public CharSequence getPageTitle(int position) {
            return mFragmentTitleList.get(position);
        }
    }


    @SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem Item) {
        // Handle navigation view item clicks here.
        int id = Item.getItemId();

        if (id == R.id.nav_gallery) {
            NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
            Menu menu = navigationView.getMenu();
            for (int menuItemIndex = 0; menuItemIndex < menu.size(); menuItemIndex++) {
                MenuItem menuItem= menu.getItem(menuItemIndex);
                if(menuItem.getItemId() == R.id.manage_profile){
                    menuItem.setVisible(true);
                }
                else if(menuItem.getItemId() == R.id.search_school){
                    menuItem.setVisible(false);
                }

                else if(menuItem.getItemId() == R.id.school_vielnearby){
                    menuItem.setVisible(false);
                }

                else if(menuItem.getItemId() == R.id.school_vielall){
                    menuItem.setVisible(false);
                }

                else if(menuItem.getItemId() == R.id.search_organization){
                    menuItem.setVisible(false);
                }

                else if(menuItem.getItemId() == R.id.organization_vielnearby){
                    menuItem.setVisible(false);
                }

                else if(menuItem.getItemId() == R.id.organization_vielall){
                    menuItem.setVisible(false);
                }

                else if(menuItem.getItemId() == R.id.nav_gallery){
                    menuItem.setRippleInAdapter(true);
                }
            }
        }

        else if (id == R.id.manage_profile) {
            NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
            Menu menu = navigationView.getMenu();
            for (int menuItemIndex = 0; menuItemIndex < menu.size(); menuItemIndex++) {
                MenuItem menuItem= menu.getItem(menuItemIndex);
                if(menuItem.getItemId() == R.id.manage_profile){
                    menuItem.setVisible(false);
                }
                else if(menuItem.getItemId() == R.id.manage_profile){
                    menuItem.setCheckable(false);
                }
            }

            DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
            drawer.closeDrawer(GravityCompat.START);

        }

        else if (id == R.id.nav_gallery2) {
            NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
            Menu menu = navigationView.getMenu();
            for (int menuItemIndex = 0; menuItemIndex < menu.size(); menuItemIndex++) {
                MenuItem menuItem = menu.getItem(menuItemIndex);
                 if (menuItem.getItemId() == R.id.search_school) {
                    menuItem.setVisible(true);
                 }
                 else if (menuItem.getItemId() == R.id.school_vielnearby) {
                    menuItem.setVisible(true);
                 }
                 else if (menuItem.getItemId() == R.id.school_vielall) {
                    menuItem.setVisible(true);
                 }
                 else if (menuItem.getItemId() == R.id.manage_profile) {
                     menuItem.setVisible(false);
                 }
                 else if (menuItem.getItemId() == R.id.search_organization) {
                     menuItem.setVisible(false);
                 }
                 else if (menuItem.getItemId() == R.id.organization_vielnearby) {
                     menuItem.setVisible(false);
                 }
                 else if (menuItem.getItemId() == R.id.organization_vielall) {
                     menuItem.setVisible(false);
                 }
            }
        }

        else if (id == R.id.search_school) {
            NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
            Menu menu = navigationView.getMenu();
            for (int menuItemIndex = 0; menuItemIndex < menu.size(); menuItemIndex++) {
                MenuItem menuItem= menu.getItem(menuItemIndex);
                if(menuItem.getItemId() == R.id.search_school){
                    menuItem.setVisible(false);
                }
                else if(menuItem.getItemId() == R.id.search_school){
                    menuItem.setCheckable(false);
                }
                else if(menuItem.getItemId() == R.id.school_vielnearby){
                    menuItem.setVisible(false);
                }
                else if(menuItem.getItemId() == R.id.school_vielall){
                    menuItem.setVisible(false);
                }
            }
            DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
            drawer.closeDrawer(GravityCompat.START);

        }

        else if (id == R.id.school_vielnearby) {
            NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
            Menu menu = navigationView.getMenu();
            for (int menuItemIndex = 0; menuItemIndex < menu.size(); menuItemIndex++) {
                MenuItem menuItem= menu.getItem(menuItemIndex);
                if(menuItem.getItemId() == R.id.school_vielnearby){
                    menuItem.setVisible(false);
                }
                else if(menuItem.getItemId() == R.id.search_school){
                    menuItem.setVisible(false);
                }
                else if(menuItem.getItemId() == R.id.school_vielnearby){
                    menuItem.setCheckable(false);
                }
                else if(menuItem.getItemId() == R.id.school_vielall){
                    menuItem.setVisible(false);
                }
            }
            DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
            drawer.closeDrawer(GravityCompat.START);

        }

        else if (id == R.id.school_vielall) {
            NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
            Menu menu = navigationView.getMenu();
            for (int menuItemIndex = 0; menuItemIndex < menu.size(); menuItemIndex++) {
                MenuItem menuItem= menu.getItem(menuItemIndex);
                if(menuItem.getItemId() == R.id.school_vielall){
                    menuItem.setVisible(false);
                }
                else if(menuItem.getItemId() == R.id.search_school){
                    menuItem.setVisible(false);
                }
                else if(menuItem.getItemId() == R.id.school_vielnearby){
                    menuItem.setVisible(false);
                }
                else if(menuItem.getItemId() == R.id.school_vielall){
                    menuItem.setCheckable(false);
                }
            }
            DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
            drawer.closeDrawer(GravityCompat.START);

        }

        else if (id == R.id.nav_gallery3) {
            NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
            Menu menu = navigationView.getMenu();
            for (int menuItemIndex = 0; menuItemIndex < menu.size(); menuItemIndex++) {
                MenuItem menuItem = menu.getItem(menuItemIndex);
                if (menuItem.getItemId() == R.id.search_organization) {
                    menuItem.setVisible(true);
                }
                else if (menuItem.getItemId() == R.id.organization_vielnearby) {
                    menuItem.setVisible(true);
                }
                else if (menuItem.getItemId() == R.id.organization_vielall) {
                    menuItem.setVisible(true);
                }
                else if (menuItem.getItemId() == R.id.search_school) {
                    menuItem.setVisible(false);
                }
                else if (menuItem.getItemId() == R.id.school_vielnearby) {
                    menuItem.setVisible(false);
                }
                else if (menuItem.getItemId() == R.id.school_vielall) {
                    menuItem.setVisible(false);
                }
                else if (menuItem.getItemId() == R.id.manage_profile) {
                    menuItem.setVisible(false);
                }

            }
        }

        else if (id == R.id.search_organization) {
            NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
            Menu menu = navigationView.getMenu();
            for (int menuItemIndex = 0; menuItemIndex < menu.size(); menuItemIndex++) {
                MenuItem menuItem= menu.getItem(menuItemIndex);
                if(menuItem.getItemId() == R.id.search_organization){
                    menuItem.setVisible(false);
                }
                else if(menuItem.getItemId() == R.id.search_organization){
                    menuItem.setCheckable(false);
                }
                else if(menuItem.getItemId() == R.id.organization_vielnearby){
                    menuItem.setVisible(false);
                }
                else if(menuItem.getItemId() == R.id.organization_vielall){
                    menuItem.setVisible(false);
                }
            }
            DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
            drawer.closeDrawer(GravityCompat.START);

        }

        else if (id == R.id.organization_vielnearby) {
            NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
            Menu menu = navigationView.getMenu();
            for (int menuItemIndex = 0; menuItemIndex < menu.size(); menuItemIndex++) {
                MenuItem menuItem= menu.getItem(menuItemIndex);
                if(menuItem.getItemId() == R.id.organization_vielnearby){
                    menuItem.setVisible(false);
                }
                else if(menuItem.getItemId() == R.id.search_organization){
                    menuItem.setVisible(false);
                }
                else if(menuItem.getItemId() == R.id.organization_vielnearby){
                    menuItem.setCheckable(false);
                }
                else if(menuItem.getItemId() == R.id.organization_vielall){
                    menuItem.setVisible(false);
                }
            }

            DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
            drawer.closeDrawer(GravityCompat.START);
        }

        else if (id == R.id.organization_vielall) {
            NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
            Menu menu = navigationView.getMenu();
            for (int menuItemIndex = 0; menuItemIndex < menu.size(); menuItemIndex++) {
                MenuItem menuItem= menu.getItem(menuItemIndex);
                if(menuItem.getItemId() == R.id.organization_vielall){
                    menuItem.setVisible(false);
                }
                else if(menuItem.getItemId() == R.id.search_organization){
                    menuItem.setVisible(false);
                }
                else if(menuItem.getItemId() == R.id.organization_vielnearby){
                    menuItem.setVisible(false);
                }
                else if(menuItem.getItemId() == R.id.organization_vielall){
                    menuItem.setCheckable(false);
                }
            }
            DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
            drawer.closeDrawer(GravityCompat.START);

        }

        return true;
    }

}

我尝试将其添加到我的代码中,但它在setRippleInAdapter

中有一个红色指示符
else if(menuItem.getItemId() == R.id.nav_gallery){
                menuItem.setRippleInAdapter(true);
            }

0 个答案:

没有答案