본문 바로가기

Android9

ExpandableListView 확장 리스트뷰(배경디자인 변경) 리스트뷰이긴 한데 트리형태의 자식뷰를 가지는 리스트뷰를 만들고자 할 때 ExpandableListView를 이용한다.확장리스트뷰의 항목에서 그룹뷰와 자식뷰에 디자인을 적용해 보았다.트리형태에서 부모뷰의 디자인과 자식뷰의 디자인을 적용하는 방법은 여러 가지가 있겠지만여기서는 버튼과 같이 디자인을 적용하였다. 결과이미지샘플로 지역에 있는 편의점을 예시로 작성하였다. 리스트 내 그룹뷰의 배경디자인버튼처럼 처리하기 위해 selector를 하나 만들었고기본, 터치 시 다르게 보여주기 위해 2개의 shape파일을 만들어서 구성하였다. res/drawable/btn_cell_area.xml res/drawable/shape_bg_cell_area_default.xml .. 2025. 9. 12.
RecyclerView에서 View추가 개발을 하다보면 리스트뷰에서 고정적으로 보여지는게 아닌때에 따라서 리스트에서 뷰가 여러개 추가되는 형태를 보여줘야 할 때가 있다.그럴 때 리스트 항목에 어떻게 뷰를 추가하는지 샘플이다. 결과이미지 가변뷰 layout리스트에 추가적으로 붙일 layout 리스트에서 가변뷰를 붙이기 위한 부모뷰 설정다른 부분은 이전 것과 동일하고 마지막에 LinearLayout ll_base 부모뷰를 추가했다. Adapter에서 처리방법지금은 샘플이여서 리스트의 순서에 따라 Child뷰를 추가하는 방식으로 처리했다.뷰를 추가하는 부분은 onBindViewHolder에서 처리하며재사용되면서 메모리 문제가 생길 수 있어서 반드시 removeAllViews()를 통해추가적으로 붙였던 .. 2025. 9. 11.
error: package org.apache.http does not exist error: package org.apache.http does not exist import org.apache.http 등의 오류가 발생할 때2가지 방법으로 해결할 수 있다. 1. implementation을 통해 의존성을 정의버전은 나중에 더 올라갈 수도 있지만 implementation에 의존성을 정의해 주면 오류가 해결된다.implementation ("org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2") 2. Gradle과 Manifest에 정의Gradle과 Manifest에 아래와 같이 정의해 주면 오류가 해결된다.AndroidManifestGradleAndroidManifest.x.. 2025. 9. 9.
RecyclerView Custom 디자인 적용 RecyclerView에서 리스트의 아이템들을 버튼처럼 디자인 적용하였다.리스트의 한 개의 아이템의 layout을 구성하고기본적으로 보이는 배경디자인클릭했을 때 배경디자인이렇게만 구성한 샘플이다. 결과이미지 리스트 아이템의 layout최상단 layout에 배경이미지를 설정하여 터치할 때 이미지가 변경되도록 적용 리스트아이템 배경 selectorshape를 포함하여 작성할 수도 있는데 다른 곳에서도 쓸 수 있으니따로 작성하였다. shape_bg_cell_default.xml .. 2025. 9. 5.
Spinner 에 커스텀 이미지 적용 안드로이드 Spinner 임의로 이미지를 적용하는 방법이다.Spinner의 기본 배경Spinner의 하나의 항목 배경Spinner의 드롭다운 되는 항목의 배경이렇게 3가지로 커스텀 이미지를 적용하였다. 결과이미지배경외에 spinner의 텍스트 디자인 영역이 어디인지 확인하기 위해색상을 넣은 spinner도 하단에 추가하였다. Spinner에서 아래 화살표 이미지 추가File - New - Vector Asset에서 Clip art를 누르고 arrow drop down을 찾아서 이미지파일을 추가 Spinner의 기본 배경res - drawable - custom_spinner_background.xml 파일을 만들어 기본 이미지배경을 설정 .. 2025. 9. 5.
Activity launchMode 안드로이드 Manifest에서 Activity를 선언할 때 설정할 수 있다.이 launchMode는 Activity에서 Activity로 전환시 기본은 스택에 쌓이는 구조인데이 옵션에 따라서 Activity가 스택에 쌓이는 형태가 달라질 수 있다. 설정값의미standard스택에 Activity를 쌓는 기본 방식singleTop가장 나중에 쌓인 Activity가 실행 될 Activity와 중복된다면 재사용singleTask1개의 task에는 1개의 Activity만 존재없을 경우는 신규 task를 생성이미 있을 경우 위에 존재하는 Activity를 제거 후 재사용singleInstance1개의 task에 1개의 Activity만 존재하고 쌓일 수 없음singleTask와 달리 Activity가 쌓일 수 없.. 2025. 9. 3.