Android (20) 썸네일형 리스트형 RecyclerView에 데이터 추가하기 (Fragment, ViewPager2) Q : FAB를 눌러서 Todo 추가 화면을 노출 시키고, 제목과 내용을 입력해서 “Todo” 탭에 반영 1. requireActivity() 사용 MainActivity fabAdd 버튼 눌러 TodoActivity로 이동 class MainActivity : AppCompatActivity() { private lateinit var binding: MainActivityBinding private val viewPagerAdapter by lazy { MainViewPagerAdapter(this) } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = MainActivityB.. View와 ViewGroup 1. View - 화면에 보이는 모든 요소 - TextView, EditText, Button, ImageView 등등 2. ViewGroup - 뷰를 포함하여 화면에 적절히 배치하기 위한 일종의 컨테이너 - LinearLayout, RelativeLayout, FrameLayout, TableLayout, ConstraintLayout 등등 참조 https://kadosholy.tistory.com/127 Recycler View Recyler View 정의 1. RecyclerView 1) ListView - 아래로 스크롤 할 때, 맨 위의 객체 삭제하고 아랫 부분에 객체를 새로 생성하여 사용 - 스크롤을 반복하면 수백, 수천개의 View 객체가 생성/삭제 2) RecylcerView - 아래로 스크롤 할 때, 맨 위의 객체를 맨 아래로 이동시켜 재활용 (객체에 담겨지는 데이터는 새로 갱신) - 맨 처음 화면에 보여지는 View가 10개면 실제 데이터가 수백, 수천개라도 오로지 10개의 View 객체만 생성해 재활용 2. ViewHolder - ViewHolder : 맨 처음 10개의 View객체를 기억하고 있을(홀딩) 객체 (맨 처음 화면에 보여지는 View가 10개라면) - ViewHolder로 기억한 View 객체는 맨 위.. TabLayout과 ViewPager2 연결하기 1. ViewBinding 설정 build.gradle(Module:app) viewBinding { enabled = true } 2. activity_main.xml 설정 tablayout과 viewPager2 배치 3. Fragment 생성 1) New -> Fragment -> Fragment(Blank) 생성 - Fragment 파일과 xml 파일 동시 생성 2) 생성한 Fragment.xml 수정 4. 생성한 Fragment class 파일 수정 1) FramgentToDo - Fragment 레이아웃만 반환 해주는 class class FragmentTodo : Fragment() { // FragmentToDoBinding : 뷰 바인딩 클래스, XML 레이아웃 파일과 연결된 바인딩 객체를.. Status Bar (상태바) 1. values -> themes -> themese.xml 2. 상태바 색상 변경 - windowLightStatusBar = true : 배경색이 밝으면 아니라면 false로 설정 - statusBarColor : 색상 변경 true @color/light_yellow 3. 상태바 감추기 true Button Icon 1. 버튼 아이콘 1) 클릭 시 버튼 아이콘 변경 - 크기 조절 X, 아이콘만 넣을 경우 - 크기 조절 O : 사용 2) 아이콘 selector 연동 - drawableStart = "@drawable/selector_icon" 으로 icon selector 연동 (drawableStart, drawableEnd, drawableLeft, drawableRight, drawableTop, drawableBottom) 2. Icon 과 텍스트 동시 출력 - paddingLeft : Icon 과 버튼 사이의 Left 간격 - drawablePadding : 텍스트와 Icon 사이 간격 (음수 : 더 가까워짐) Selector 1. drawable -> New -> Drawable Resource File - root element : selector 2. 버튼 디자인 변경 1) 클릭 시 버튼 색상 변경 - state_pressed = "true" : 버튼이 눌렀을 때 / state_pressed = "false" : 버튼이 눌리지 않았을 때 - 태그와 태그로 버튼 모양, 색상 변경 2) 버튼 selector 연동 - Button -> android.widget.Button 변경 - background = "@drawable/selector_button" 으로 버튼 연동 3. 텍스트 컬러 변경 1) 클릭 시 텍스트 색상 변경 2) 텍스트 selector 연동 - textColor = "@drawable/sele.. Font 변경 1. res -> New -> Directory -> font 폴더 생성 2. 폰트 폴더 넣기 파일명 : 대문자 X 확장파일 : ttf 참고 : https://noonnu.cc/ 눈누 상업용 무료한글폰트 사이트 noonnu.cc 3. XML 이전 1 2 3 다음