głównym zajęciem mojego Android app wygląda tak:WindowSoftInputMode i Scrollview
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background"
android:orientation="vertical" >
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical"
android:paddingLeft="60dp"
android:paddingTop="53dp" >
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/billAmountText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/billAmount_string"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/billAmount"
android:layout_width="173dp"
android:layout_height="wrap_content"
android:layout_below="@id/billAmountText"
android:layout_marginTop="3dp"
android:inputType="numberDecimal" />
</RelativeLayout>
</ScrollView>
</RelativeLayout>
Aby upewnić się, że obraz tła (zdefiniowana w pierwszym RelativeLayout) nie zostanie wyciśnięty gdy klawiatura wyskakuje, mam ustawione android:windowSoftInputMode="stateVisible|adjustPan
w pliku manifestu dla mojej aktywności. Wszystko dobrze z tłem i układem teraz, nic się nie zmienia.
Ale problem polega na tym, że mój ScrollView nie działa teraz, ponieważ sądzę, że system uważa, że okno nie wymaga zmiany rozmiaru z powodu mojej powyższej modyfikacji do manifestu - więc ScrollView nie jest aktywny. Dzieje się odwrotnie, gdy wyjmuję android:windowSoftInputMode="stateVisible|adjustPan
, przewijanie działa, ale tło zostaje ściśnięte, gdy klawiatura wyskoczy.
Czy istnieje sposób, aby go zakodować, aby moje tło nie zostało ściśnięte, a mój ScrollView nadal działa? Dzięki!
Dzięki, ale bez powodzenia. Zasadniczo chcę, aby adjustResize zastosował się do Scrollview, ale chcę, aby adjustPan zastosował się do RelativeLayout, który hostuje tło. – capcom
Wpadłem na ten problem. Szkoda, że nie znaleźliście rozwiązania:/ – Rawr
Czytam to 4 lata później i nadal nie mogę znaleźć rozwiązania .. – vanomart