[안드로이드] 탭 레이아웃 - 작성중
2021. 12. 7. 11:39ㆍ앱개발
1. activity_main.xml
- Layout : LinearLayout
- orientaion : vertical
2. Containers > TabLayout을 붙여넣는다
- height : wrap_content로 변경
- 3개의 탭이 기본적으로 생성되어 있는데 각각의 텍스트를 '즐겨찾기', '노선', '정류장'으로 바꾼다
* 탭 레이아웃이 위로 올려붙는다
3. 탭 레이아웃 하단에는 FrameLayout을 붙인다
- id : container
> 지금까지의 화면은 다음과 같이 표현된다
4. Fragment생성
1) Bookmark
2) 경로
3) StationFragment
* 탭 관련 초기 코드
더보기
//선언
enum eFragment{ Bookmark, Route, Station, FragMax};
Fragment [] fragments = new Fragment[3];
public int tabIndex = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
//.....
tabIndex = eFragment.Bookmark.ordinal();
fragments[eFragment.Bookmark.ordinal()] = new BookmarkFragment();
fragments[eFragment.Route.ordinal()] = new RouteFragment();
fragments[eFragment.Station.ordinal()] = new StationFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.container, fragments[tabIndex]).commit();
TabLayout tabs = findViewById(R.id.tabs);
tabs.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
int idx = tabs.getSelectedTabPosition();
getSupportFragmentManager().beginTransaction().replace(R.id.container, fragments[idx]).commit();
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
}
여기까지 하면 기본적으로 탭이 보이고 탭으로 Fragment가 바뀌는 것은 볼수 있다
'앱개발' 카테고리의 다른 글
C# 소켓 연결 여부 체크 (0) | 2022.05.27 |
---|---|
공공데이터를 이용한 앱 만들어보기(3) - XML 파싱 및 RecyclerView 표현 (0) | 2021.11.29 |
공공데이터를 이용한 앱 만들어보기(2) - 데이터 요청 및 수신 (0) | 2021.11.27 |
[안드로이드] 권한 관련 코드들 (0) | 2021.11.23 |
공공데이터를 이용한 앱 만들어보기(1) - 공공데이터 신청 및 화면 구성 (0) | 2021.11.22 |