[Android]탭 화면 구성할때 간단하게 구성할 수 있도록 도와주는 라이브러리

ViewPager FragmentPagerAdapter TabLayout

보통 ViewPager랑 FragmentPagerAdapter, TabLayout 조합해서 탭 화면을 구성하는데
조금 더 간단하게 구성 할 수 있도록 만들어 놓은 라이브러리입니다.
개인적으로 간단하게 사용할 수 있도록 만들어 놓은건데 사내에 혹시나 필요하신 분이 계실까봐 오픈합니다.

github README 안에 자세하게 설명 써 놓았으니 참고 하시면 될거 같아요.

혹시 문의사항 있으시면 저한테 말씀하시면 됩니다.

감사합니다.

README

HsFragmentPager

ViewPager, FragmentPagerAdapter, TabLayout을 사용하기 쉽도록 제작한 라이브러리 입니다.

자세한 사용법은 Sample프로젝트를 참조하세요.

Dependency 설정

  • root 수준의 build.gradle 설정

    
    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }
    
  • 프로젝트 단위의 build.gradle 설정
    
    dependencies {
            compile 'com.github.hsbaewa:HsFragmentPager:0.0.1'
    }
    

HsFragmentPagerActivity 사용법

  • HsFragmentPagerActivity 안에 TabLayout과 HsFragmentPager가 내장되어 있으며 create 단계에서 리소스 아이디만 명시하면됨.

public class SampleActivity extends HsFragmentPagerActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //파라미터 순서 - Activity 레이아웃, TabLayout 리소스 아이디, HsFragmentPager 리소스 아이디
        setContentView(R.layout.activity_sample, R.id.TabLayout, R.id.HsFragmentPager);
    }

    @Override
    protected void onCreatePageFragment(HsFragmentPagerActivity.HsFragmentPagerActivityAdapter mAdapter) {
        //여기서 추가할 Fragment를 추가해줍니다.
        mAdapter.addFragment("타이틀1", TabFragment.newInstance("타이틀1"));
        mAdapter.addFragment("타이틀2", TabFragment.newInstance("타이틀2"));
        mAdapter.addFragment("타이틀3", TabFragment.newInstance("타이틀3"));
    }
}

*HsFragmentPager 안에 들어가는 Fragment로는 HsPageFragment를 사용


class TabFragment extends HsFragmentPager.HsPageFragment{

        @Override
        public void onCreateView(@Nullable ViewGroup viewGroup, @Nullable Bundle bundle) {
            setContentView(R.layout.레이아웃);  //Activity와 비슷하게 사용할수 있도록 setContentView 함수 내장
            TextView v = findViewById(R.id.textView);  //findViewById 함수도 자체 내장
        }
    }

*특정 position에 해당하는 fragment를 새로고침하고 싶을때 아래와 같이 호출


//HsFragmentPagerActivity 내장함수
notifyDataSetChanged((int)새로고침하고 싶은 position);

*모든 fragment 새로고침


//HsFragmentPagerActivity 내장함수
HsFragmentPagerAdapter.notifyDataSetChanged();

배현식 7년전 질문


댓글 0

댓글작성

목록보기