안드로이드 잠깐 맛탱이 갔을 때 해주면 좋은 것
스앵님은 웬만한건 다 리니어로 한다고 하심..
앱은 거의다 위에서 아래로 향하잖아?
근까 android:orientation="vertical" 이거 잊지 말규
<androidx.appcompat.widget.LinearLayoutCompat
xmlns:android="<http://schemas.android.com/apk/res/android>"
xmlns:app="<http://schemas.android.com/apk/res-auto>"
xmlns:tools="<http://schemas.android.com/tools>"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<FrameLayout
android:id="@+id/fragmentContainer"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@android:color/holo_green_light"/>
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigation"
android:layout_width="match_parent"
android:layout_height="56dp"
app:menu="@menu/my_menu"
app:itemBackground="@color/white"
app:labelVisibilityMode="unlabeled"/>
</androidx.appcompat.widget.LinearLayoutCompat>
화면 중앙에는 프레그먼트가 들어와야하고 → 프레임 레이아웃
밑에는 바텀 네비게이션 뷰가 들어와야한다
app:menu="@menu/my_menu" : 메뉴 연결하기
탭 레이아웃은 메뉴xml 로 안만들어
왜? 탭 레이아웃은 동적인 것이 많다
정적인 것들은 메뉴xml을 만들고
동적인 것은 자바로!
app:labelVisibilityMode="unlabeled" : 메뉴의 타이틀을 안보이게 해줌!
→ 아이콘만 보이게
public interface InitMethod {
void init(); // findViewById
void initLr(); // 리스너 등록
default void initAdapter(){}; // 어댑터 등록
default void initNavigation(){};
default void initSetting(){}; // 기타 셋팅
void initData(); // 데이터 초기화
// 무조건 구현 안해도 되는건 default 붙이면 됨
// 이것 때문에 추상클래스 어댑터 패턴이 사라졌댕
}
프레임 레이아웃과 바텀 네비게이션 뷰를 찾아주면 된다