마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

프래그먼트 메뉴 선택시 글자색 변경

0 추천

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로 하자니, 클릭할때만 애니메이션이 생길거같고...

 

공부하는 학생이라 안드로이드 많은걸 알지는 못합니다.

시간이 오래걸리거나 꽤나 어려운거라면 

과감히 라이브러리 쓰라고 말씀해주시면 감사하겠습니다

 

좋은하루되세요

똑돌이 (530 포인트) 님이 2016년 10월 25일 질문

1개의 답변

0 추천
'Observer pattern'이라는 키워드로 검색해보시면 정보를 얻를 수 있을 것 같습니다.
minor (13,710 포인트) 님이 2016년 10월 25일 답변
...