Android21 [Android] Palette (Helper) Group group는 ConstraintLayout에서 제공하는 helper 중 하나로 여러 뷰들의 visibility를 그룹으로 묶어 관리하기 편하게 해 줍니다. ConstraintLayout으로 뷰를 구성하면 모든 뷰들이 플랫 하게 존재해서 visibility를 한 묶음으로 변경해야 할 경우 코드가 길어질 수밖에 없지만 그룹을 이용해 여러 뷰들을 묶어주게 되면 코드가 간결해집니다. Barrier(Horizontal)/(Vertical) Barrier을 이용하여 뷰들의 크기가 런타임으로 변할 때 적합한 제약조건을 생성할 수 있습니다. 해당 Barrier에 연관된 뷰 들은 크기/위치가 Barrier에 맞게 변경이 됩니다. Barrier는 start, top, end, bottom 중 하나의 위치로 지정.. 2021. 1. 27. [Android] Focus 뷰와 사용자가 상호 작용을 하기 시작할 때 그 뷰는 Focus를 가졌다고 합니다. 간단한 예시로 EditText가 있으며 EditText를 터치하면 키보드가 나타나면서 EditText와 상호 작용을 할 수 있게 되는데 이때 EditText는 Focus를 가지게 됩니다. Focus를 갖기 위해 Focusable의 속성이 true가 되어야 하는데, EditText의 경우 별도의 작업 없이 true값을 갖지만 TextView와 같은 태그들은 임의로 속성값을 바꾸어 주어야 합니다. ex) xml에서 해당 태그에 android:focusable="true" android:focusableInTouchMode="true" 를 추가해 주거나 findViewById(R.id.button).requestFocus() k.. 2021. 1. 27. [Android] Fragment 생명주기 좌측에 Fragment의 생명주기가 있습니다. 생명 주기는 Android작동 방식의 핵심으로 생명주기를 준수하지 않으면 메모리 누출 또는 애플리케이션의 비정상 종료가 발생할 수 있습니다. 콜백 메서드(특정 이벤트가 발생할 때 호출되는 함수) onCreat(), onStart(), onResume(), onPause(), onStop(), onDestroy() 가 있습니다. 프래그먼트에서 최소한으로 구현해야 하는 3가지 생명주기 메서드가 존재합니다. onCreate() 프래그먼트를 생성할 때 호출하며 프래그먼트가 일시정지 혹은 중단 후 재개되었을 때 유지하고 있어야 하는 것을 여기서 초기화를 해야 합니다. onCreateView() 프래그먼트가 자신의 인터페이스를 처음 그리기 위해 호출하며 View를 반환.. 2021. 1. 27. [Android] Palette (Containers) Spinner 스피너란 여러 개의 값 중 1개를 선택하기 위해 사용하는 위젯입니다. 먼저 res/values 폴더에 array.xml이라는 파일을 만들고 아래의 내용을 입력하여 배열을 만듭니다. A B C D E F G H 이후 activity에서 entires속성을 추가하여 정의하면 아래와 같이 선택이 가능한 위젯이 나옵니다. RecyclerView recyclerview는 많은 수의 데이터 집합을 영역 내에 유연하게 표시할 수 있도록 만든 위젯입니다. 기존의 ListView는 한 화면에 모든 데이터를 가지고 있어 매번 스크롤을 내릴 때마다 맨 위의 객체가 삭제되고 새로 생성되고의 반복이지만 리사이클 러뷰는 스크롤을 내린다고 가정했을 때 제일 위에 사라져 가는 객체를 아래쪽에 새로 생길 부분으로 재 사.. 2021. 1. 26. [Android] Palette (Widgets) View View란 애플리케이션에서 눈에 가시적으로 표현되는 모든 것을 가리킵니다. 버튼, 이미지, 테이블, 레이블 등등 최고 상위 클래스는 View클래스입니다. 이 View클래스를 베이스로 두고 각각의 기능을 표현하게 되는 것입니다. 위의 그림처럼 안드로이드에서 사용하는 모든 뷰들의 상속 관계입니다. View클래스와 ViewGroup클래스로 나눠지지만 차이점은 View계열의 클래스는 가시적으로 모양이 있는 클래스이고 ViewGroup클래스는 눈에는 보이지 않지만 뷰들을 잘 배치해주거나 그룹핑을 하는 역할을 합니다. 즉 ViewGroup는 View와 ViewGroup들을 담는 역할을 합니다. ImageView TextView에는 텍스트를 표시했듯 이미지는 ImageView를 사용하여 표시할 수 있습니다... 2021. 1. 26. [Android] Palette (Button) Button Button은 사용자가 화면을 터치했을 때 발생하는 클릭 이벤트로 처리하는 기능을 가진 View위젯입니다. TextView와 마찬가지로 안드로이드 UI를 구성할 때 가장 많이 사용되는 위젯 중 하나입니다. Button은 TextView로 부터 거의 모든 기능을 상속받고 있습니다. 간단히 버튼을 누르면 0부터 카운트를 세는 프로그램을 작성해 보았습니다. val counter_num = findViewById(R.id.textView1) val btn_1 = findViewById(R.id.button1) var counter = 0 btn_1.setOnClickListener { counter++ counter_num.text=counter.toString() } ImageButton 앞서 공.. 2021. 1. 26. 이전 1 2 3 4 다음 반응형