Przed napisaniem tego pytania mam przeczytanie następujących odpowiedzi/artykułów:Android: EditText pozostaje ukryta za klawiaturą
- Android soft keyboard covers edittext field
- Android keyboard obscures EditText
- http://developer.android.com/resources/articles/on-screen-inputs.html
- Soft Keyboard Overlapping with EditText Field
Klawiatura programowa Android jest ustawiona domyślnie, aby przesuwać, co znaczy s zachowa wszystkie edytowalne regiony nad klawiaturą. Jednak nie obsługuje on wystarczy. Po uruchomieniu i naciśnięciu editekstu znajdującego się w dolnej części ekranu pojawia się klawiatura i edittext jest przesuwany w górę, ale niewystarczająco, aby móc zobaczyć, co jest w nim wpisywane. Użyłem/próbowałem następujące:
android:windowSoftInputMode="adjustPan"
w manifeście działania. To nie miało znaczenia. Próbowałem również wartościadjustUnspecified
iadjustResize
. Żadne z nich nie działa.<uses-sdk android:minSdkVersion="3" />
w pliku manifestu. Moja aplikacja jest przeznaczona dla sdk 2.1 i wyżej. Mimo to spróbowałem i nie działałem.Korzystanie z ScrollView. To też nie działa.
Czy istnieje sposób ręcznego zarządzania intensywnością "panoramowania" klawiatury po naciśnięciu określonego tekstu edycyjnego.
Poniżej znajduje się mój plik xml.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff">
<ImageView
android:id="@+id/header"
android:layout_width="320dip"
android:layout_height="86dip"
android:background="@drawable/header_bg">
</ImageView>
<ImageView
android:layout_width="320dip"
android:layout_height="200dip"
android:layout_alignParentBottom="true"
android:background="@drawable/bg1_btm">
</ImageView>
<TextView android:text="Hostname"
android:id="@+id/lbl_hostname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/header"/>
<TextView android:text="(Current)"
android:id="@+id/lbl_hostname_current"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/lbl_hostname"
android:layout_below="@id/header" />
<EditText android:text="EditText"
android:id="@+id/editText_hostname"
android:layout_below="@id/lbl_hostname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLength="25">
</EditText>
<TextView android:text="Registration URL"
android:id="@+id/lbl_registration"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editText_hostname" />
<TextView android:text="(Current)"
android:id="@+id/lbl_registration_current"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editText_hostname"
android:layout_toRightOf="@id/lbl_registration" />
<TextView android:text="http://"
android:id="@+id/lbl_url_prefiz"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/lbl_registration"
android:paddingTop="10dip" />
<EditText android:text="EditText"
android:id="@+id/editText_registration"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf ="@id/lbl_url_prefiz"
android:layout_below="@id/lbl_registration">
</EditText>
<TextView android:text="Chat"
android:id="@+id/lbl_chat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editText_registration"/>
<TextView android:text="(Current)"
android:id="@+id/lbl_chat_current"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editText_registration"
android:layout_toRightOf="@id/lbl_chat"/>
<EditText android:text="EditText"
android:id="@+id/editText_chat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/lbl_chat">
</EditText>
<TextView android:text="SSID"
android:id="@+id/lbl_ssid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editText_chat" />
<TextView android:text="(Current)"
android:id="@+id/lbl_ssid_current"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editText_chat"
android:layout_toRightOf="@id/lbl_ssid"
/>
<EditText android:text="EditText"
android:id="@+id/editText_ssid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/lbl_ssid"
android:maxLines="1"
android:inputType="text"
android:layout_marginBottom="25dip">
</EditText>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ButtonSave"
android:text="Save"
android:layout_below="@id/editText_ssid"
android:layout_alignParentLeft="true">
</Button>
<Button android:text="Continue"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/ButtonContinue"
android:layout_below="@id/editText_ssid"
android:layout_alignParentRight="true">
</Button>
</RelativeLayout>
Odpowiedź jest w tym poście: http://stackoverflow.com/questions/4559367/soft-keyboard-overlapping-with-edittext-field – kctang
Dzięki. Zrobiłem na razie pracę. Ale sprawdzi to później. – skaneria
Jakieś rozwiązanie tego? – Atmaram