Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
1 / 0 / 1
Регистрация: 22.09.2016
Сообщений: 13

Layout не меняет размер при появлении клавиатуры

28.02.2017, 14:03. Показов 4130. Ответов 2

Студворк — интернет-сервис помощи студентам
Добрый день.
Имеется вот такая разметка
XML
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
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.igordubrovin.trainstimetable.activities.MainActivity">
 
    <include layout="@layout/toolbar"/>
 
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/toolbar">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:baselineAligned="false"
            android:id="@+id/linearInformationStation"
            android:focusableInTouchMode="true"
            android:layout_marginTop="@dimen/activity_horizontal_margin"
            android:layout_marginEnd="@dimen/activity_horizontal_margin"
            android:layout_marginStart="@dimen/activity_vertical_margin"
            android:layout_marginRight="@dimen/activity_horizontal_margin"
            android:layout_marginLeft="@dimen/activity_vertical_margin">
            <android.support.design.widget.TextInputLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1">
                <com.igordubrovin.trainstimetable.customView.CustomEditText
                    android:inputType="text"
                    android:id="@+id/etSearchFromStation"
                    android:layout_height="wrap_content"
                    android:layout_width="match_parent"
                    android:hint="@string/station_from"
                    android:maxLines="1"
                    android:imeOptions = "actionSearch"/>
            </android.support.design.widget.TextInputLayout>
            <android.support.design.widget.TextInputLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1">
                <com.igordubrovin.trainstimetable.customView.CustomEditText
                    android:inputType="text"
                    android:id="@+id/etSearchToStation"
                    android:layout_height="wrap_content"
                    android:layout_width="match_parent"
                    android:hint="@string/station_to"
                    android:maxLines="1"
                    android:imeOptions = "actionSearch"/>
            </android.support.design.widget.TextInputLayout>
            <ImageButton
                android:id="@+id/imgBtnSearchTrain"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="0.25"
                app:srcCompat="@drawable/ic_search_api_material"
                android:contentDescription="@string/search"/>
        </LinearLayout>
 
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@id/linearInformationStation"
            android:id="@+id/fragmentContainer"
            android:layout_marginTop="20dp"/>
    </RelativeLayout>
 
</RelativeLayout>
FrameLayout с id="@+id/fragmentContainer" использую как контейнер для фрагмента и динамически вставляю фрагмент с RecyclerView:

XML
1
2
3
4
5
6
7
8
9
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <android.support.v7.widget.RecyclerView
        android:id="@+id/rvSearchStation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    </android.support.v7.widget.RecyclerView>
</FrameLayout>
Когда нажимаю на EditText выползает клавиатура но при этом FrameLayout не уменьшается и она закрывает половину RecyclerView т.е. последние итемы не видны, до него просто не прокручивается список.
Если перевернуть телефон то все начинает работать и можно прокрутить до последнего элемента, неважно открыта или скрыта клавиатура.
Перепробовал уже кучу всего, но ничего не помогает. (windowSoftInputMode="adjustResize" и fitsSystemWindows="true" выставил первым делом)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.02.2017, 14:03
Ответы с готовыми решениями:

Сжимается layout при появлении клавиатуры
Помогите решить вопрос. При выводе одного из экранов layout сжимается когда пытаешься ввести цифры с клавиатуры(при появлении клавиатуры).

Не вмещаются поля на экране при появлении клавиатуры
сразу прошу прощения за возможно ошибочный каталог для темы. Работаю в программе RAD Studio XE6. Проблема заключается в том, что на форме...

Скролл меняет размер при скролле PreferenceScreen
Main.java public class Main extends PreferenceActivity { @Override public void onCreate(Bundle savedInstanceState) { ...

2
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
28.02.2017, 14:27
XML
1
windowSoftInputMode="adjustPan"
0
1 / 0 / 1
Регистрация: 22.09.2016
Сообщений: 13
28.02.2017, 17:00  [ТС]
Лучший ответ Сообщение было отмечено vxg как решение

Решение

тоже пробовал, но не помогает.
может в стиле проблема?
XML
1
2
3
4
5
6
7
8
9
10
11
12
<resources>
 
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="colorButtonNormal">@color/colorAccent</item>
    </style>
 
</resources>
Добавлено через 22 минуты
Решил проблему заменой контейнера
XML
1
2
3
4
5
6
<FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@id/linearInformationStation"
            android:id="@+id/fragmentContainer"
            android:layout_marginTop="20dp"/>
на ScrollView.

Добавлено через 2 часа 7 минут
Замена на ScrollView мне показалась костыльным решением, поэтому я порылся еще. И нашел так что искал. Если у корневого RelativeLayout установить android:isScrollContainer="true" то все работает со старой разметкой
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.02.2017, 17:00
Помогаю со студенческими работами здесь

Android label меняет размер текста при смене ориентации
Я заметил что текст названия приложения меняет свой размер при смене ориентации. Но в большинстве приложений нет такого. Где находится...

Почему при смене цвета кнопка меняет свой размер?
Здравствуйте. Почему при смене цвета кнопки она меняет свой размер? Что может быть ? Меняю цвет через ресурс. &lt;?xml...

От Новичка: 8.2 - С чего это упр. форма меняет размер при обработке переключателя ?
Такая веселая вещь получилась - сделал форму, все в ней работает как надо. Есть горизонтально расположенный переключатель, на нем висит...

Графика в TASM: текстовая строка, которая двигается стрелками клавиатуры, и меняет цвет при каждом нажатии клавиши
Нужно реализовать текстовую строку которая двигается стрелками клавиатуры, и меняет цвет при каждом нажатии клавиши, совсем не понимаю как...

Микроскопический размер сенсорной клавиатуры Windows 10 при подключении ПК к телевизору
Здравствуйте! Я использую телевизор (42,5 дюйма) в качестве монитора для ПК. После обновления Windows 10 до версии 1709, размер сенсорной...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru