프로그래밍/부스트코스

부스트 코스 에이스 미션 3 (ViewPager, Fragment, NavigationDrawer, 개선사항)

돌및쓰고 2019. 8. 7. 22:32

1차 FAIL

- 파일을 잘못올림

2차 PASS

 

 

1. Viewpager (fragment 겹치게 표현)

 

- ViewPager에서 각 fragment를 겹치고 싶을땐

viewPager.setPageMargin(-300);

 

- ViewPager에서 페이지 전환 확인 이벤트 

 viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int i, float v, int i1) {

            }

            @Override
            public void onPageSelected(int i) {

            }

            @Override
            public void onPageScrollStateChanged(int i) {

            }
        });

2. Fragment 관련 내용

 

뒤로가기

    @Override
    public void onBackPressed() {
        DrawerLayout drawer = findViewById(R.id.drawer_layout);

        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else if (mFragmentManager.getBackStackEntryCount() > 1) {
            mFragmentManager.popBackStack();
        } else {
            super.onBackPressed();
        }
    }

Fragment전환

 

FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.layout_movie_main, MovieInfoFragment.newInstance()).commit();
fragmentTransaction.addToBackStack(null); // 이걸넣어줘야 뒤로가기 적용

 

3. 지적사항 및 개선사항 (2차 )

1. 접근제어자 잘붙이기

 -귀찮아도 생각하고 붙이자
2. string.xml 활용

- 네이밍이 너무 어렵다.
3. 변수명에 언더바쓰지않기

- 전혀 몰랏던내용 앞으로 숙지하자

4. 액티비티간 데이터공유 방법 고민

- static으로 불러오는 방식이 맞는지 고민중

5. getInstance는 싱글톤 객체에만 사용