https://github.com/neokree/MaterialTabs
제가 구현하고자 하는것은 자주 쓰이는 라이브러리 Materialtabs와 같습니다.
라이브러리 갖다 쓰면 편하겠지만 직접 구현해보는 것도 공부가 될까싶어 해보려합니다.
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
Button btn[] = new Button[4];
ViewPager viewPager = null;
Thread thread = null;
Handler handler = null;
int p=0; //페이지번호
int v=1; //화면 전환 뱡향
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//viewPager
viewPager = (ViewPager)findViewById(R.id.viewPager);
MyViewPagerAdapter adapter = new MyViewPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(adapter);
btn[0] = (Button)findViewById(R.id.btn_a);
btn[1] = (Button)findViewById(R.id.btn_b);
btn[2] = (Button)findViewById(R.id.btn_c);
btn[3] = (Button)findViewById(R.id.btn_d);
for(int i=0;i<btn.length; i++){
btn[i].setOnClickListener(this);
}
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.btn_a:
viewPager.setCurrentItem(0);
Toast.makeText(this,"A버튼", Toast.LENGTH_SHORT).show();
break;
case R.id.btn_b:
viewPager.setCurrentItem(1);
Toast.makeText(this,"B버튼", Toast.LENGTH_SHORT).show();
break;
case R.id.btn_c:
viewPager.setCurrentItem(2);
Toast.makeText(this,"C버튼", Toast.LENGTH_SHORT).show();
break;
case R.id.btn_d:
viewPager.setCurrentItem(3);
break;
default:
break;
}
}
}
프래그먼트와 뷰페이저를 이용하여 간단한 메뉴를 구현했습니다.
그런데 상용 어플들을 보면, 해당 프래그먼트에 진입시 글자색이 바뀌는 등 표시가 있지않습니까?
이것을 구현하려하는데 잘 감이 잡히지가 않습니다.
애니메이션을 이용해야될것같긴한데, "해당 프래그먼트에 진입한 그 상태를 어떻게 체크하는지"가
궁금합니다. setOnClickListener로 하자니, 클릭할 때만 애니메이션이 생길거같고...
공부하는 학생이라 안드로이드 많은걸 알지는 못합니다.
시간이 오래걸리거나 꽤나 어려운거라면
과감히 라이브러리 쓰라고 말씀해주시면 감사하겠습니다
좋은하루되세요