I am having a bottomsheet dialog fragment in my activity. I want my whole layout to be top of the keyboard when it keyboard is opened. I tried various solutions. Now my layout goes up, but keyboard suggestion strip hides some part of the layout. I tried everything like AdjustResize, AdjustPan, etc
public class EmailBottomSheet extends BottomSheetDialogFragment {
Context context;
LinearLayout linearLayout;
EditText emailEditText;
TextView invalidEmailTextView;
Button saveEmailButton;
public EmailBottomSheet() {
}
@Override
public int getTheme() {
return R.style.DialogStyle;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.bottom_sheet_email_layout, container, false);
view.setBackgroundResource(R.drawable.top_corner_curve_16);
linearLayout = view.findViewById(R.id.bottom_sheet_email_layout);
emailEditText = view.findViewById(R.id.list_of_emails);
saveEmailButton = view.findViewById(R.id.save_email_lst_btn);
invalidEmailTextView = view.findViewById(R.id.error_email_text);
BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior.from(linearLayout);
setTextToEditText();
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
}
<style name="DialogStyle" parent="Theme.Design.BottomSheetDialog">
<item name="android:windowBackground">@null</item>
<item name="android:windowIsFloating">false</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowSoftInputMode">adjustResize|stateVisible</item>
</style>
My bottom sheet xml file
android:id="@+id/email_coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:background="@color/transperent">
<LinearLayout
android:id="@+id/bottom_sheet_email_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/top_corner_curve_16"
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"
android:orientation="vertical">
<View
android:layout_width="64dp"
android:layout_gravity="center"
android:layout_height="@dimen/value_4"
android:layout_marginTop="@dimen/value_10"
android:layout_marginBottom="@dimen/value_10"
android:background="#1A000000"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/value_12"
android:layout_marginBottom="@dimen/value_12"
android:layout_marginStart="@dimen/value_16"
android:layout_marginEnd="@dimen/value_16"
android:fontFamily="@font/proximanova_semibold"
android:text="@string/emails_list"
android:textColor="@color/text_grey"
android:textSize="20sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/value_24"
android:layout_marginStart="@dimen/value_16"
android:layout_marginEnd="@dimen/value_16"
android:text="@string/these_recipients"
android:textSize="17sp"
android:textColor="@color/text_grey"
android:fontFamily="@font/proximanova_regular"
android:layout_gravity="start"
/>
<EditText
android:id="@+id/list_of_emails"
android:layout_width="match_parent"
android:layout_height="92dp"
android:layout_marginStart="@dimen/value_16"
android:layout_marginEnd="@dimen/value_16"
android:layout_marginTop="@dimen/value_8"
android:background="@drawable/edit_email_grey_bg"
android:fontFamily="@font/proximanova_regular"
android:gravity="start|top"
android:imeOptions="actionNext"
android:inputType="textMultiLine"
android:paddingLeft="@dimen/value_16"
android:paddingTop="@dimen/value_13"
android:paddingRight="@dimen/value_16"
android:paddingBottom="@dimen/value_13"
android:textColor="@color/text_grey"
android:textSize="17sp" />
<TextView
android:visibility="gone"
android:id="@+id/error_email_text"
android:layout_marginHorizontal="@dimen/value_16"
android:layout_marginTop="@dimen/value_8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Email list is invalid"
android:textSize="13sp"
android:fontFamily="@font/proximanova_regular"
android:textColor="#df0028"/>
<Button
android:id="@+id/save_email_lst_btn"
style="@style/BlackButtonStyle"
android:layout_width="match_parent"
android:layout_height="52dp"
android:layout_gravity="center"
android:layout_marginStart="@dimen/value_16"
android:layout_marginTop="@dimen/value_40"
android:layout_marginEnd="@dimen/value_16"
android:layout_marginBottom="@dimen/value_16"
android:fontFamily="@font/proximanova_semibold"
android:gravity="center"
android:text="@string/save"
android:textAllCaps="false"
android:textColor="@color/white"
android:textSize="17sp" />
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>