안드로이드 TV 앱: 검색 오버레이가 제대로 닫히지 않는 문제
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
앱 개발
대상자
안드로이드 TV 앱 개발자, UI/UX 디버깅에 관심 있는 개발자
핵심 요약
FrameLayout
사용 시 검색 오버레이의 포커스/이벤트 처리 문제 발생onBackPressed()
또는onSearchClicked()
메서드에서 오버레이 닫기 로직 누락 가능성- TV 앱의
SearchView
또는 커스텀 오버레이 UI의setVisibility()
호출 누락 확인 필요
섹션별 세부 요약
1. 문제 현상 및 환경
- 검색 오버레이가
SearchView
닫기 시도 후에도 계속 표시됨 activity_main.xml
에서FrameLayout
사용으로 인한 레이아웃 중첩 구조- TV 앱의 특성상 포커스 이동 및 이벤트 전달 방식과 관련된 문제 가능성
2. 코드 구조 및 의심 요소
FrameLayout
내SearchView
또는 커스텀 오버레이 뷰의focusable
속성 설정 누락onBackPressed()
또는onSearchClicked()
메서드에서overlay.setVisibility(View.GONE)
호출 누락SearchView
의onQueryTextSubmit()
또는onClose()
콜백 사용 여부 확인 필요
3. 디버깅 방향
Logcat
을 통해SearchView
의 이벤트 핸들러 호출 여부 확인SearchView
의setQuery
또는clearFocus()
메서드 사용 여부 점검- TV 앱의
AccessibilityService
또는FocusManager
와의 상호작용 검토
결론
FrameLayout
내 오버레이 뷰의focusable
속성을false
로 설정하거나,onBackPressed()
및onSearchClicked()
에서 명시적으로setVisibility()
호출하여 문제 해결- TV 앱의 포커스 이동 로직과
SearchView
의 이벤트 핸들러를 병합하여 디버깅