Скажем, у меня есть представление, состоящее из двух слоев -> верхнего и нижнего слоя. Я размещаю их обоих в макете кадра.
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- bottom layer -->
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/some_image_you_shouldnt_shrink"/>
<!-- top layer -->
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/somewhat_transparent"/>
</FrameLayout>
Теперь, предположительно, когда я нажимаю на editText, клавиатура выскакивает и сокращает размер редактируемого текста. Однако кажется, что размер нижнего слоя ТАКЖЕ изменяется. Как предотвратить изменение размера этого нижнего слоя?
Примечание: раскладка кадра находится во фрагменте, и действие, содержащее этот фрагмент, должно объявлять android:windowSoftInputMode="adjustResize"
.
ИЗМЕНИТЬ * * ** * ** * *
Чтобы прояснить, я хочу, чтобы слой editText настраивался настолько высоко, насколько это необходимо для клавиатуры. однако я не хочу, чтобы изображение за ним вообще корректировалось
У меня есть только 1 действие, которое обрабатывает подобные типы фрагментов.
2 ответа
Вы не можете предотвратить изменение размера отдельного представления, если вы установите android:windowSoftInputMode="adjustResize"
. Но если вы просто хотите установить фон без изменения размера, есть обходной путь. Вместо того, чтобы устанавливать фоновое изображение в ImageView через XML, добавьте это в свой метод onCreate()
getWindow().setBackgroundDrawableResource(R.drawable.some_image_you_shouldnt_shrink);
Попробуйте это в манифесте
android:windowSoftInputMode="stateVisible|adjustPan"
Похожие вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.
adjustPan
, либо нет