У меня есть ViewPager с двумя разными фрагментами. Для первого фрагмента я хотел бы определить его так, чтобы он не изменялся при открытии мягкой клавиатуры. Для второго фрагмента я хотел бы изменить его размер.
Установка android:windowSoftInputMode="adjustPan"
внутри манифеста будет работать для обоих фрагментов, но я хочу изменить их между двумя.
Что я сделал после поиска в Google:
// create ContextThemeWrapper from the original Activity Context with the custom theme
Context context = new ContextThemeWrapper(getActivity(), R.style.NoResize);
// clone the inflater using the ContextThemeWrapper
LayoutInflater localInflater = inflater.cloneInContext(context);
// inflate using the cloned inflater, not the passed in default
return localInflater.inflate.inflate(R.layout.my_layout,container,false);
Я определил тему следующим образом:
<style name="NoResize" parent="@style/AppTheme">
<item name="android:windowSoftInputMode">adjustPan</item>
</style>
Активность определяется по умолчанию windowSoftInputMode, который изменяет размеры просмотров, когда открывается программная клавиатура.
Будет работать над этим до тех пор, пока он не будет решен, но если кто-то еще столкнется с этой проблемой и решит ее, было бы замечательно услышать любые мысли.
Спасибо!