Upgrade to Pro — share decks privately, control downloads, hide ads and more …

キーボードの切替を いい感じにしたい

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

キーボードの切替を いい感じにしたい

Avatar for Ryo Sakaguchi

Ryo Sakaguchi

April 19, 2018
Tweet

More Decks by Ryo Sakaguchi

Other Decks in Programming

Transcript

  1. ©2018 Wantedly, Inc. ΩʔϘʔυͷ੾ସ ద౰ʹ΍Δ৔߹ attachmentButton.setOnClickListener { if (!pickerContainer.isVisible()) {

    val params = window.attributes ImeUtil.hideImeKeyboard(this, editText) pickerContainer.visible() window.attributes = params } else { pickerContainer.gone() ImeUtil.showImeKeyboard(this, editText) } } val attachmentButton = findViewById<ImageView>(R.id.button_plus)
  2. ©2018 Wantedly, Inc. ΩʔϘʔυͷ੾ସ ద౰ʹ΍Δ৔߹ val attachmentButton = findViewById<ImageView>(R.id.button_plus) attachmentButton.setOnClickListener

    { if (!pickerContainer.isVisible()) { val params = window.attributes ImeUtil.hideImeKeyboard(this, editText) pickerContainer.visible() window.attributes = params } else { pickerContainer.gone() ImeUtil.showImeKeyboard(this, editText) } }
  3. ©2018 Wantedly, Inc. ΩʔϘʔυͷ੾ସ ద౰ʹ΍Δ৔߹ val attachmentButton = findViewById<ImageView>(R.id.button_plus) attachmentButton.setOnClickListener

    { if (!pickerContainer.isVisible()) { val params = window.attributes ImeUtil.hideImeKeyboard(this, editText) pickerContainer.visible() window.attributes = params } else { pickerContainer.gone() ImeUtil.showImeKeyboard(this, editText) } } όίϯ/ΨίϯΈ͍ͨͳԻ͕ฉ͖͑ͯͦ͜͏
  4. ©2018 Wantedly, Inc. ͪΐͬͱߟ͑ͯΈͨ .FTTFOHFSΛࢀߟʹ͢Δ ΍ͬͨ͜ͱ w 7JFXߏ଄ͷEVNQͱͬͯΈΔ w BECTIFMMEVNQTZTBDUJWJUZUPQ

    w ͻͨ͢Β੾Γସ͑ͯΈͨ w ΩʔϘʔυͷߴ͞Λۃ୺ʹখ͘͞େ͖ͯ͘͠੾ସࣗମʹͲ͏੍͍ͬͨݶԽͰߦΘΕ͍ͯΔ͔͔֬Ίͨ w ҙ஍ѱʹͳͬͨؾ࣋ͪͰյ͠ʹ͔͔Δ
  5. ©2018 Wantedly, Inc. ͪΐͬͱߟ͑ͯΈͨ .FTTFOHFSΛࢀߟʹ͢Δ Θ͔ͬͨ͜ͱ w 7JFXͷߏ଄ w ಛผͳมΘͬͨ$VTUPN7JFXΛ࢖͍ͬͯΔ༷ࢠ͸ͳ͔ͬͨɻ

    w ͻͨ͢Β੾Γସ͑ͨ w ΩʔϘʔυͷཪʹ7JFX͕͋ΔงғؾΛ௫Μͩ w ͱ͍͏͜ͱ͸ΩʔϘʔυΛӅ͢ʢด͡Δʣࡍʹߴ͕͞มΘΒͳ͚Ε͹ྑ͍ͷͰ͸ʁ w ۃ୺ͳߴ͞ͷ৔߹͸NJONBY)FJHIUΛઃఆ͍ͯ͠Δͷ͔ͿͬյΕΔ͜ͱ͸ͳ͔ͬͨ
  6. ©2018 Wantedly, Inc. ΩʔϘʔυͷ੾ସ ద౰ʹ΍Δ৔߹ val attachmentButton = findViewById<ImageView>(R.id.button_plus) attachmentButton.setOnClickListener

    { if (!pickerContainer.isVisible()) { val params = window.attributes ImeUtil.hideImeKeyboard(this, editText) toAdjustNothing() pickerContainer.visible() window.attributes = params } else { pickerContainer.gone() toAdjustResize() ImeUtil.showImeKeyboard(this, editText) } }
  7. ©2018 Wantedly, Inc. ΩʔϘʔυͷ੾ସ ͪΐͬͱஸೡʹ΍Δ৔߹ val attachmentButton = findViewById<ImageView>(R.id.button_plus) attachmentButton.setOnClickListener

    { if (!pickerContainer.isVisible()) { val params = window.attributes ImeUtil.hideImeKeyboard(this, editText) toAdjustNothing() pickerContainer.visible() window.attributes = params } else { pickerContainer.gone() toAdjustResize() ImeUtil.showImeKeyboard(this, editText) } }
  8. ©2018 Wantedly, Inc. ΩʔϘʔυͷ੾ସ ͪΐͬͱஸೡʹ΍Δ৔߹ val attachmentButton = findViewById<ImageView>(R.id.button_plus) attachmentButton.setOnClickListener

    { if (!pickerContainer.isVisible()) { val params = window.attributes ImeUtil.hideImeKeyboard(this, editText) toAdjustNothing() pickerContainer.visible() window.attributes = params } else { pickerContainer.gone() toAdjustResize() ImeUtil.showImeKeyboard(this, editText) } } ΘΓ͔͠εϜʔζʂ
  9. ©2018 Wantedly, Inc. UP"EKVTU3FTJ[F 4PGU*OQVU.PEF ͦΕͧΕͲ͏͍͏ಈ͖Λ͢Δͷ͔ fun toAdjustResize() { window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)

    } •LayoutManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE •͜Ε͸WindowʹΩʔϘʔυͷग़ݱͷࡍʹɺΩʔϘʔυ͕ද͍ࣔͯ͠Δcontentsʹ͔ͿΒͳ͍Α͏ʹ
 WindowͷResizeΛ͢Δ΋ͷ
  10. ©2018 Wantedly, Inc. UP"EKVTU/PUIJOH 4PGU*OQVU.PEF ͦΕͧΕͲ͏͍͏ಈ͖Λ͢Δͷ͔ fun toAdjustNothing() { window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_Nothing)

    } •LayoutManager.LayoutParams.SOFT_INPUT_ADJUST_Nothing •ΩʔϘʔυͷग़ݱ࣌ʹɺWindowͷߴ͞ௐ੔ͳͲΛ·ͬͨ͘͠ͳ͘ͳΔϞʔυɻ
 ຊ౰ʹԿ΋͠ͳ͍ͷͰɺ௨ৗ࣌ʹ࢖͏ͱcontentsͱ͔Ϳͬͯ͠·͏
  11. ©2018 Wantedly, Inc. UP"EKVTU/PUIJOH %FNP"QQ fun toAdjustNothing() { window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_Nothing) }

    •LayoutManager.LayoutParams.SOFT_INPUT_ADJUST_Nothing •ΩʔϘʔυͷग़ݱ࣌ʹɺWindowͷߴ͞ௐ੔ͳͲΛ·ͬͨ͘͠ͳ͘ͳΔϞʔυɻ
 ຊ౰ʹԿ΋͠ͳ͍ͷͰɺ௨ৗ࣌ʹ࢖͏ͱcontentsͱ͔Ϳͬͯ͠·͏