Мы используем фрагмент в Activity. Активность содержит кнопку отправки, а фрагмент содержит входные данные формы.

Теперь, когда мы открываем клавиатуру, эта кнопка активности оказывается над клавиатурой. Как мы можем закрепить эту кнопку и переместить вверх только фрагмент.

enter image description here

enter image description here

Мы просто хотим прикрепить эту кнопку обновления в конце.

4
jitendra 2 Янв 2016 в 09:36

3 ответа

Лучший ответ

Я добавил этот код, и он у меня работает. Этот код будет скрывать кнопку при открытии клавиатуры и показывать ее снова, когда она закрывается.

 parentView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
                @Override
                public void onGlobalLayout() {
                    Rect r = new Rect();
                    rootView.getWindowVisibleDisplayFrame(r);
                    int heightDiff = rootView.getRootView().getHeight() - (r.bottom - r.top);

                    if (heightDiff > 100) { // if more than 100 pixels, its 
                    //Hide Show Key board
                        view_one.setVisibility(View.GONE);
                        view_two.setVisibility(View.GONE);

                    }else{
                    //ok now we know the keyboard is down...
                        view_one.setVisibility(View.VISIBLE);
                        view_two.setVisibility(View.VISIBLE);

                    }
                }
            });
2
jitendra 2 Янв 2016 в 08:30

Я не знаю, правильно ли я понял, но вы пытаетесь поместить этот код в свой файл манифеста внутри тега активности:

android:windowSoftInputMode="adjustPan"

И поместите этот код в свой тег кнопки:

android:layout_alignParentBottom="true"
1
mhdjazmati 2 Янв 2016 в 14:10

Ты должен попробовать этот код

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".SplashActivity">

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true"/>

</RelativeLayout>
1
Saif 2 Янв 2016 в 07:47