简体   繁体   中英

Android layout getting wrapped when keyboard appears

In my application I have two tabs, for which I am using ViewPager , two fragments are within this view pager. Sometimes when I tap on first tabs fragments EditBox keyboard pops, once I am done with the input keyboard disappears. But layout below keyboard region goes blank (White), this is happening sometimes, specially second launch of application. When application is launched from studio for first time issue doesn't appear. But when I launch it through system application by tapping on its ic_launhcher issue comes again. What are the possible causes of issue ?

The layout on launch looks like :

在此输入图像描述

After I click on edit box & edit some text in address filed, when keyboard disappears, layout looks like :

在此输入图像描述

I am using view pager inside another fragment & using FragmentStatePagerAdapter by passing a getChildFragmentManager()

 private void setupViewPager(ViewPager viewPager) {
        FragmentStatePagerAdapter fragmentStatePagerAdapter = new FragmentStatePagerAdapter(getChildFragmentManager()) {
            @Override
            public Fragment getItem(int position) {
                Fragment fragment = null;
                switch (position) {
                    case 0:
                        fragment = new GeneralInfoFragment();
                        Bundle bundle = new Bundle();
                        bundle.putString(context.getString(R.string.all_data), new Gson().toJson(profileResponse));
                        fragment.setArguments(bundle);
                        break;
                    case 1:
                        fragment = new ICEFragment();
                        break;
                    default:
                        return null;
                }
                return fragment;
            }

            @Override
            public int getCount() {
                return 2;
            }

            @Override
            public CharSequence getPageTitle(int position) {
                switch (position) {
                    case 0:
                        return "General Info";
                    case 1:
                        return "ICE";
                }
                return "";
            }
        };

Note : Images are erased to protect privacy

Edit:

Put this code in your manifest file in your activity tag

android:configChanges="keyboard|keyboardHidden|orientation|
screenLayout|uiMode|screenSize|smallestScreenSize"

android:windowSoftInputMode="stateHidden|adjustPan"

Or

Try this one

setContentView(R.layout.activity_direction_3);
getWindow().getDecorView().setBackgroundColor(
        android.R.color.transparent);

Or

if you have are using a custom theme then add this in your theme

 <item name="android:windowBackground">Transparent color </item>

Tel me if you still get the issue.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM