Reputation: 196
I am using snack bar for displaying information, it is working fine if keyboard is not opened. If keyboard is opened the snack bar message displaying whole screen not displaying properly i am using android 5.5. I added this line android:windowSoftInputMode="adjustResize|stateAlwaysHidden"
in my activity manifest but still same issue. Please help me for this issue. Please find the image below. My snack bar code is
Snackbar.make(coordinator,getString(R.string.validation_plz_enter_mandatory_flds, UtilConstants.ERROR_CODE_UI_2000),Snackbar.LENGTH_INDEFINITE).show();
Upvotes: 4
Views: 5191
Reputation: 14340
If your using CoordinatorLayout
with AppBar
and NestedLayout
with EditText
inside, it won't work.
This is a bug in support lib, reported here.
Similar question here.
You can use a workaround by wrapping the CoordinatorLayout
with another Constraint/Relative Layout (PS I've not tried RealtiveLayout but works using ConstraintLayout) and use android:fitsSystemWindows="true"
.
with referenced to this answer.
Upvotes: 1
Reputation: 3401
This is the Correct Solution of this problem: SnackBar show Above the SoftInput
(Keyboard)
- (when Keyboard is Open)
<activity android:name=".YourActivity"
android:windowSoftInputMode="adjustResize"/>
tag into your activity tag of the manifest.
Upvotes: 6
Reputation: 3592
Put this property in your Manifest file to your proper activity.
<activity android:name=".YourActivity"
android:windowSoftInputMode="adjustResize"/>
Upvotes: 2
Reputation: 872
Just Hide the KeyBoard where you call your SnackBar using below code:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(parentLayout.getWindowToken(), 0); // parentLayout is your main layout of an activity
Upvotes: 0
Reputation: 9225
Have you initialized your snackbar like below code:
snackbar = Snackbar.make(findViewById(android.R.id.content), <Your message>, Snackbar.LENGTH_LONG);
or you have used your own layout??
Because if we use android's own UI element(android.R.id.content) it manages to show on valid UI of their own. You should first try this.
Upvotes: 2