안드로이드 잠깐 맛탱이 갔을 때 해주면 좋은 것

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/33f7c8f5-745e-471b-a390-fa8d754a4b4f/Untitled.png

activity_main

스앵님은 웬만한건 다 리니어로 한다고 하심..

앱은 거의다 위에서 아래로 향하잖아?

근까 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>

화면 중앙에는 프레그먼트가 들어와야하고 → 프레임 레이아웃

밑에는 바텀 네비게이션 뷰가 들어와야한다

MainActivity

public interface InitMethod {

    void init(); // findViewById
    void initLr(); // 리스너 등록
    default void initAdapter(){}; // 어댑터 등록
    default void initNavigation(){};
    default void initSetting(){}; // 기타 셋팅
    void initData(); // 데이터 초기화

    // 무조건 구현 안해도 되는건 default 붙이면 됨
    // 이것 때문에 추상클래스 어댑터 패턴이 사라졌댕
}

프레임 레이아웃과 바텀 네비게이션 뷰를 찾아주면 된다