Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

28.07.2016, 23:22. Просмотров 305. Ответов 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);
        }
 
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.07.2016, 23:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос BottomSheetDialogFragment с EditText убегает после сворачивания клавиатуры (Программирование Android):

EditText, кнопки вместо клавиатуры, использование курсора, вызов клавиатуры "вручную" - Программирование Android
Ну, в общем, я постарался написать наиболее подходящее название темы. Перекопал весь киберфорум, и ещё кучу сайтов в гугле, но нифига не...

EditText и появление клавиатуры - Программирование Android
У меня есть форма, на которой есть EditText и кнопка. При открытии формы на телефоне сразу же активируется клавиатура к EditText. как...

Установка курсора в EditText и отображение клавиатуры - Программирование Android
Суть вопроса, есть активность из которой вызывается диалог. Диалог состоит из текстового поля для ввода и двух кнопок (ок и cancel). Диалог...

HandlerThread. Восстановление работы после сворачивания - Программирование Android
Доброго времени суток. Есть у меня класс-наследник от HandlerThread, реализованный, как Singleton. Старт происходит по событию: ...

EditText отключение выплывающей клавиатуры при загрузки приложения - Программирование Android
подскажите как сделать) заранее спасибо

При нажатии на EditText показать клавиатуры с нужным языком - Программирование Android
как вызвать клавиатуру с нужным языком? например при нажатии на EditText показать клавиатуру на испанском языке независимо от того в какой...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2016, 23:22
Привет! Вот еще темы с ответами:

Как всё сместить вверх, чтобы EditText оказался вверху клавиатуры - Программирование Android
Работаю на Android Studio. Как всё сместить вверх, чтобы EditText оказался вверху клавиатуры и было видно, что пользователь вводит? У...

Ввод в один EditText и авто-вычисление в двух других EditText - Программирование Android
Всем привет. Есть три поля EditText,виртуальные клавиатуры у всех заблокированы,а ввод чисел в поле осуществляется с Button(ов). Вопрос...

EditText смещается вниз при вводе текста, который занимает объём больше, чем EditText - Программирование Android
EditText сещается вниз при вводе текста который занимает обём больше чем EditText. Как устранить?

Закрывается приложение после ввода сообщения в EditText - Программирование Android
Написал программу, в которой при вводе в EditText значения 0 или 1 в TextView должно вывести определённое сообщение, но после ввода 0 или 1...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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