Android: Як перамяшчаць погляды над клавіятурай пры яе адкрыцці. (хуткае і бяспечнае рашэнне)

Фота Rohit Tandon на Unsplash

Крок 1:

Вам трэба мадэляваць .xml файл проста так:

................ віды ..................... ... прагляды, якія будуць ісці над клавіятурай ...

Як бачыце, у нас ёсць наступныя кампаненты:

  • Каранёвая планіроўка: ConstraintLayout (можа быць адносная макет)
  • Дзіця: NestedScrollView (можа быць просты ScrollView)
  • NestedScrollView Child: ConstraintLayout (можа быць адносна макета)
  • Знізу: LinearLayout (можа быць адносна макета / абмежавання)

Важна ўнесці ў код выдзеленыя вышэй радкі кода. Далей наступныя атрыбуты:

У NestedScrollView:

android: isScrollContainer = "true" прыкладанне: layout_constraintBottom_toTopOf = "@ + id / bottomContainer"

У LinearLayout:

app: layout_constraintBottom_toBottomOf = "бацькоўскі" дадатак: layout_constraintRight_toRightOf = "бацькоўскі"

УВАГА: Гэта працуе толькі ў тым выпадку, калі вы ўключылі кампанент NestedScrollView / ScrollView.

Крок 2 (першы варыянт):

Калі вы знаходзіцеся ў фрагменце, увядзіце гэты радок кода ў свой спосаб onCreate ():

getActivity (). getWindow (). setSoftInputMode (WindowManager.LayoutParam s.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

Калі вы займаецеся дзейнасцю, увядзіце гэты радок кода ў свой спосаб onCreate ():

getWindow (). setSoftInputMode (WindowManager.LayoutParam s.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

Крок 2 (другі варыянт):

Змесціце ў AndroidManifest.xml наступны радок у кампаненце актыўнасці:

УВАГА: Вашы прагляды будуць ісці над клавіятурай, толькі калі яны ўключаны ў бацькоўскі макет.

Спадзяюся, што гэта дапаможа,

шчаслівае кадаванне :)