Skip to content

hsbaewa/HsFragmentPager

Repository files navigation

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();

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages