일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Fragment에서 Activity의 함수 사용하기
- viewholder
- adapter
- ActivityTestRule
- ui test
- 안드로이드개발레벨업교과서
- 스와이프
- espresso
- binding adapter
- high order function
- fragment
- 안드로이드
- searchview
- Fragment 수동 추가
- 생명주기
- recyclerview
- 고차함수
- 뷰변경 감지
- 안드로이드13
- 구분선
- 코틀린
- IntentTestRule
- 코딜리티
- 안드로이드스튜디오
- LayoutManger
- 테마 아이콘
- 재사용
- Error:Execution failed for task ':app:mergeDebugResources'
- 리사이클러뷰
- Android
Archives
- Today
- Total
룬아님의 취중코딩
SearchView iconifiedByDefault를 false로 했을 때 자동으로 키보드 올라오는 것 막기 본문
클릭을 해야 활성화 되는 SearchView가 아니라 바로 입력창이 노출되는 SearchView를 사용할 때에 iconifiedByDefault를 false로 해주면 icon 상태가 되지 않기 때문에 바로 입력을 할수가 있다.
<androidx.appcompat.widget.SearchView
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/spacing_normal"
android:background="@drawable/searchview_bgr"
app:defaultQueryHint="@string/search"
app:iconifiedByDefault="false" />
하지만 특정 상황 또는 OS에서 Activity 진입 시에 SearchView에 자동으로 focus가 가게 되어 키보드가 자동으로 올라오는데
android:windowSoftInputMode="stateAlwaysHidden"
stateAlwaysHidden을 적용하였음에도 키보드가 자동으로 올라오는 것을 막을 수 없었다.
이를 해결하기 위해
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:focusableInTouchMode="true">
<androidx.appcompat.widget.SearchView
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/spacing_normal"
android:background="@drawable/searchview_bgr"
app:defaultQueryHint="@string/search"
app:iconifiedByDefault="false" />
</FrameLayout>
SearchView를 감싸고 있는 뷰에 focusableInTouchMode를 true로 넣어 강제적으로 focus를 가져가도록 하였고 더 이상 키보드가 자동으로 올라오지 않았다.
반응형
'개발 > 안드로이드 개발' 카테고리의 다른 글
EditText max length 코드로 변경하는 방법 (0) | 2020.01.28 |
---|---|
Databinding에서 다른 뷰의 visibility 상태를 가져오는 방법 (0) | 2020.01.23 |
BottomSheetDialogFragment의 ScrollView에서 radius와 clip 적용하기 (0) | 2020.01.20 |
TaskStackBuilder 사용 시 이전 task는 어떻게 될까? (0) | 2020.01.17 |
BottomSheetDialogFragment 드래그 되지 않게 막는 방법 (0) | 2020.01.16 |
Comments