본문 바로가기

개발/android

안드로이드 BottomSheetDialog 에 키보드 써야할 때

반응형

바텀시트에 edittext가 있는 경우, 가상키보드가 활성화 될 경우, 레이아웃이 가려진다

activity의 android:windowSoftInputMode="adjustResize" 를 적용하듯이 쓰고 싶은데 찾아보니 역시 설정에 다 있었음

 

<style name="DialogStyle" parent="Theme.Design.Light.BottomSheetDialog">
    <item name="android:windowIsFloating">false</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
    <item name="android:windowSoftInputMode">adjustResize</item>
</style>

위와 같이 설정 해주고 BottomSheetDialogFragment() 를 만들어서 내부 onCreate()에 style을 적용해준다

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setStyle(DialogFragment.STYLE_NORMAL, R.style.DialogStyle)
}

마지막으로 실행시켜주면 끝

val bottomSheetFragment = BottomSheetFragment()
        bottomSheetFragment.show(supportFragmentManager, bottomSheetFragment.tag)

 

 

참고링크

https://stackoverflow.com/a/55021173

반응형