Когда в режиме adjustResize появляется мягкая клавиатура, мой edittext исчезает. Существует relativelayout с пользовательским представлением, растянутым на размер экрана отверстия в качестве фона и несколько edittexts над ним. В режиме adjustPan все работает нормально, но вы не видите editetext за клавиатурой. Все настройки макета жестко запрограммированы, там нет xml. Если я построю его без фонового представления, все работает нормально.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<com.mypkg.Panel android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/panel"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"></com.mypkg.Panel>
<EditText android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/edit1"
android:layout_alignParentBottom="true" android:layout_marginBottom="23dp"
android:layout_alignParentRight="true" android:layout_alignParentLeft="true">
</EditText>
</RelativeLayout>
class Panel extends SurfaceView implements SurfaceHolder.Callback {...
Поместите весь макет в ScrollView
. С помощью ScrollView ваш макет будет прокручиваться или прокручиваться вверх (в зависимости от устройства) после включения мягкой клавиатуры.
[изменить]
Сводка комментариев ниже этого сообщения: Используйте папки макета для ldpi, mdpi и hdpi, как предложено этой документацией.
[/Edit]