총 게시물 38,861건, 최근 4 건 안내 RSS 글쓰기
이전글  다음글  목록 글쓰기
[안드로이드]

뷰페이저에서 탭마다 다른 custom Actionbar를 적용하고 싶습니다.

글쓴이 : 에횽 날짜 : 2017-09-13 (수) 16:28 조회 : 2090
글주소 : http://www.androidside.com/B49/168353
 
  네트워크탭솔루션전문 유사이드
네트워크탭에 대한 다양한 솔루션을 customizing하여 제공합니다.
www.uside.co.kr
  기가몬 총판 인성디지탈
지능형 네트워크 트래픽 가시성 솔루션
www.isd.co.kr
  스피킹맥스 결합상품 특가
스피킹맥스 결합상품 대폭할인! 지금 구매시 기기+1년 이용권+30일 추가증정
www.speakingmax.com
신청하기


안드로이드, 자바 그리고 다양한 질문에 대해 성실히 답해드립니다. Q&A Jang

가능한가요??? 
영어로 검색하면 Actionbar Tab + Viewpager 예제밖에 안나오네요ㅜㅜ
현재 Actionbar는 프래그먼트마다 다르게 구현되어 있으나, 마지막 탭의 액션바가 고정되고 탭을 움직여도 바뀌지 않습니다.

도와주세요ㅜㅜ



질문자가 자신의 포인트 5 점을 걸었습니다.
답변하시면 포인트 2을, 답변이 채택되면 포인트 4을 드립니다.

질문답변 게시판에서 궁금한 사항을 해결하셨다면, 애써 답변해주신 분께 잘 되었다고 따뜻한 댓글 한마디 남겨주세요.
그리고 답변해주신 분의 글을 '추천' 해주세요.
추천받으신 분에게 1포인트가, 추천하신 분에게도 1포인트가 적립됩니다. ^^

안사드 2017-09-13 (수) 16:38 추천추천 1 반대 0
액션바를 쓰기보다는 전체를 뷰페이져 아이템으로 사용하는게 낫지 않을까요 그렇게 커스텀 하시려면
안사드 2017-09-13 (수) 16:38
베플로 선택된 게시물입니다.
액션바를 쓰기보다는 전체를 뷰페이져 아이템으로 사용하는게 낫지 않을까요 그렇게 커스텀 하시려면
댓글주소 추천 1 반대 0
     
     
에횽 2017-09-13 (수) 17:49
[@안사드] 액션바 말고 fragment에 넣으라는 말씀 맞나요? 역시 이 방법이 빠른가 보네요 ㅎㅎ
댓글주소 추천 0 반대 0
OSKiller 2017-09-13 (수) 17:40
액션바를 쓴다면 어려울꺼고
커스텀으로 전부 만든다면 쉽진 않겠지만 만들순 있겟네요
댓글주소 추천 1 반대 0
     
     
에횽 2017-09-13 (수) 17:52
[@OSKiller] 액션바 말고 커스텀으로 전부 만든다는게 이해가 안가네요ㅜㅜ 어쨋든 액션바는 쓰지 말아야겠어요. 감사합니다 ㅎㅎ :)
댓글주소 추천 0 반대 0
에찌 2017-09-13 (수) 17:49
액션바를 어디에 구현하냐에 따라 다르겠죠.
액션바를 뷰페이저랑 동급으로 두셨으면 뷰페이저 셀렉될 때마다 액션바를 변경시키거나
뷰페이저 아래 프래그먼트로 되어있다면 해당 프래그먼트마다 액션바를 두시면 댈듯
댓글주소 추천 1 반대 0
     
     
에횽 2017-09-13 (수) 17:54
[@에찌] 지금 뷰페이저 아래 프래그먼트로 되어있어있는데, 마지막 탭의 액션바가 고정되어버려서요..
혹시 소스좀 봐주실 수 있나요??
댓글주소 추천 0 반대 0
          
          
에횽 2017-09-13 (수) 17:55
[@에횽]

View customActionBar = LayoutInflater.from(getActivity()).inflate(R.layout.myinfo_actionbar, null);
customActionBar.findViewById(R.id.myinfo_actionbar_set).setOnClickListener(this);
actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setCustomView(customActionBar);
actionBar.show();
댓글주소 추천 0 반대 0
               
               
에찌 2017-09-14 (목) 13:03
[@에횽] 해당 소스가 프래그먼트의 onCreateView 에 구현한 소스인데 여기있는 액션바가 다른 프래그먼트로 가도 똑같다는 말씀이신거져? 그럼 액션바가 변경이 안되었다는거고. 변경이 안되었다는거는 액션바에 넣은 커스텀뷰가 같은거라는 건데...
커스텀뷰의 데이터를 각 탭마다 달리해보시는게 어떠실지..
댓글주소 추천 0 반대 0
                    
                    
에횽 2017-09-19 (화) 17:01
[@에찌]
커스텀뷰의 데이터는 뷰를 말씀하시는건가요?? inflate되는 뷰는 각각 다릅니다.

+) 해결
탭 터치이벤트가 일어날 때마다 액션바도 바꿔주는 것으로 변경하였습니다.

        switch (position) {
case 0:
customActionBar = LayoutInflater.from(getActivity()).inflate(R.layout.home_actionbar, null);
break;
case 1:
customActionBar = LayoutInflater.from(getActivity()).inflate(R.layout.search_actionbar, null);
// customActionBar.setOnClickListener(this);
customActionBar.findViewById(R.id.search_actionbar_editText).setOnClickListener(this);
customActionBar.findViewById(R.id.search_actionbar_search_button).setOnClickListener(this);
break;
case 2:
customActionBar = LayoutInflater.from(getActivity()).inflate(R.layout.write_actionbar, null);
break;
case 3:
actionBar.hide();
break;
case 4:
customActionBar = LayoutInflater.from(getActivity()).inflate(R.layout.myinfo_actionbar, null);
customActionBar.findViewById(R.id.myinfo_actionbar_set).setOnClickListener(this);
break;
}
댓글주소 추천 0 반대 0
이전글  다음글  목록 글쓰기

 


Copyright ⓒ www.androidside.com. All rights reserved.
채팅 권한: 글쓰기 1개
2레벨 이상만 대화 가능
공개 채팅: 평일 !(9시 ~ 17시),토,일
안사2 변경사항 보러가기 챗방이 잘 안보이면 크롬에서 접속해주세요
챗방 숨기기 |  챗방 보이기