Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Orange17
2 / 2 / 0
Регистрация: 01.10.2013
Сообщений: 203
#1

BottomSheetDialogFragment с EditText убегает после сворачивания клавиатуры - Программирование Android

28.07.2016, 23:22. Просмотров 187. Ответов 0
Метки нет (Все метки)

При нажатии на кнопку вылезает фрагмент снизу, на фрагменте edit text и button
Когда вводишь текст клавиатура пододвигает этот фрагмент на середину экрана, а когда клавиатуру сворачиваешь - фрагмент практически уползает за ней, остаётся небольшая часть его, которую можно вывдвинуть обратно.
Как заставить фрагмент не убегать после сворачивания клавиатуры?
Вот код фрагмента:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
public class PasswordRestoringDialogFragment extends BottomSheetDialogFragment {
 
    @BindView(R.id.twPassInfo)
    TextView passInfo;
 
    @BindView(R.id.bnRestorePass)
    Button restorePass;
 
    @BindView(R.id.etEmailPhone)
    EditText emailPhone;
 
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
 
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.pass_restore_modal, container, false);
        ButterKnife.bind(this, view);
 
        Typeface typeface1 = Typeface.createFromAsset(SignInActivity.getInstance().getAssets(), "SourceSansPro-Regular.ttf");
        emailPhone.setTypeface(typeface1);
        passInfo.setTypeface(typeface1);
 
 
        Typeface typeface2 = Typeface.createFromAsset(SignInActivity.getInstance().getAssets(), "SourceSansPro-Bold.ttf");
        restorePass.setTypeface(typeface2);
 
        return view;
    }
 
    private BottomSheetBehavior.BottomSheetCallback mBottomSheetBehaviorCallback = new BottomSheetBehavior.BottomSheetCallback() {
        @Override
        public void onStateChanged(@NonNull View bottomSheet, int newState) {
            if (newState == BottomSheetBehavior.STATE_HIDDEN) {
                dismiss();
            }
        }
 
        @Override
        public void onSlide(@NonNull View bottomSheet, float slideOffset) {
        }
    };
 
    @NonNull
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        Dialog dialog = super.onCreateDialog(savedInstanceState);
        dialog.setOnShowListener(new DialogInterface.OnShowListener() {
            @Override
            public void onShow(DialogInterface dialog) {
                BottomSheetDialog bottomSheetDialog = (BottomSheetDialog) dialog;
                FrameLayout bottomSheet = (FrameLayout) ((BottomSheetDialog) dialog).findViewById(android.support.design.R.id.design_bottom_sheet);
                BottomSheetBehavior.from(bottomSheet).setState(BottomSheetBehavior.STATE_EXPANDED);
            }
        });
        
        return dialog;
    }
 
    @Override
    public void setupDialog(Dialog dialog, int style) {
        super.setupDialog(dialog, style);
        View contentView = View.inflate(getContext(), R.layout.pass_restore_modal, null);
        dialog.setContentView(contentView);
        CoordinatorLayout.LayoutParams layoutParams =
                (CoordinatorLayout.LayoutParams) ((View) contentView.getParent()).getLayoutParams();
        CoordinatorLayout.Behavior behavior = layoutParams.getBehavior();
        if (behavior != null && behavior instanceof BottomSheetBehavior) {
            ((BottomSheetBehavior) behavior).setBottomSheetCallback(mBottomSheetBehaviorCallback);
        }
 
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.07.2016, 23:22     BottomSheetDialogFragment с EditText убегает после сворачивания клавиатуры
Посмотрите здесь:
Android EditText, кнопки вместо клавиатуры, использование курсора, вызов клавиатуры "вручную"
Android EditText и появление клавиатуры
Установка курсора в EditText и отображение клавиатуры Android
Android При нажатии на EditText показать клавиатуры с нужным языком
EditText отключение выплывающей клавиатуры при загрузки приложения Android
Android Как всё сместить вверх, чтобы EditText оказался вверху клавиатуры
Закрывается приложение после ввода сообщения в EditText Android
Обновить значение EditText после получения данных от диалогового окна Android
Отключить перескакивание между edittext после нажатия "готово" Android
Запрет сворачивания/паузы приложения Android
Android SlideMenu, проподает событе сворачивания

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru