3. 프래그먼트를 동적으로 추가 및 삭제하기 앞에서는 프래그먼트를 레이아웃 XML 파일안에 직접 기술했지만 이번에는 동적으로 프래그먼트를 추가하고 삭제 해봅니다. 추가,삭제 버튼을 누르면 각각 프래그먼트가 추가되거나 삭제되고 순서를 알 수 있도록 x 번째 프래그먼트 라는 문자열을 표시 합니다. activity_main.xml MainActivity.javapublic class MainActivity extends AppCompatActivity { private static final String FRAGMENT_TAG = "FRAGMENT_TAG"; private static final String KEY_NUMBER = "KEY_NUMBER"; private int mNumber = 0; priva..
2. 프래그먼트를 이해하자 액티비티는 한 화면당 1개씩 있는 형태였지만 프래그먼트는 액티비티 1개당 여러 개존재할 수 있습니다. 그러므로 액티비티 1개로 구현했던 것을 기능 단위로 프래그먼트로 나누어 구현할 수 있습니다. 덧붙여, 프래그먼트는 안드로이드의 프레임워크에서 구현된 것과 지원 라이브러리에서 구현된 것으로 2가지가 있습니다. 안드로이드 2.3 이상을 지원하는 경우 지원 라이브러리를 이용할 수밖에 없지만 안드로이드 4.1 이상을 지원하는 경우라도 지원 라이브러리를 이용하는 편이 좋습니다. 그럼 이번에는 단순한 프래그먼트를 가진 앱을 만들어 보겠습니다. 누르면 클릭 이벤트를 액티비티에 통보하고 액티비티에서 Toast를 표시하는 앱입니다. 여기서는 프래그먼트를 다음 3단계로 생각하면 될것 같습니다. ..
기존 뷰를 조합한 커스텀 뷰 만들기는 4단계로 진행 1. 커스텀 뷰의 레이아웃을 결정한다.2. 레이아웃 XML로 설정할 수 있는 항목을 attrs.xml에 기재한다 3. 커스텀 뷰 클래스를 만든다 4. 메인 앱의 레이아웃에 삽입해서 확인한다. * 버튼을 누를때 마다 변경된다 1 - 커스텀 뷰의 레이아웃을 결정한다 위에 이미지를 보면 이미지뷰를 옆으로 나열할 것이므로 LinearLayout으로 에워 쌉니다. layout/four_starts_indicator.xml 여기서 주의할 점은 맨 처음 루트 태그가 LinearLayout이 아니라 merge 태그라는점입니다. 이유는 커스텀 뷰가 LinearLayut을 상속한 클래스이므로 LinearLayout의 불필요한 중첩을 피하기 위해서 입니다. 2. 레이아웃 ..