У меня были некоторые проблемы с использованием adjustPan
в моем приложении, так как оно не работает должным образом. Некоторые другие пользователи также столкнулись с этой проблемой, поэтому я считаю важным поделиться этой проблемой (Макет не перемещается достаточно вверх при нажатии на EditText).
Примечание. Я использую Android Studio и я использую "приложение с мгновенным запуском", поэтому расположение файлов будет немного другим.
Когда я использую adjustPan
в своем макете, моя активность не поднимается достаточно высоко до точки, где EditText
появляется над программной клавиатурой (подробности см. на изображении). Тот же результат по-прежнему отображается независимо от того, используете ли вы его в файле манифеста или в файле Java.
Не только это, но и самая странная часть заключается в том, что строка состояния становится прозрачной, а темно-синяя полоса, которая должна находиться за значками уведомлений, немного опускается (см. изображение Подробности).
Я пытался сделать несколько попыток решить эту проблему, например, используя adjustResize
и setOnTouchListener
, но оба этих ответа, которые я получил, не решили эту проблему.
Я до сих пор не могу понять причину этой проблемы, поэтому любые ответы или комментарии относительно того, как выяснить, почему возникает эта проблема, также подходят.
Вот часть моего кода:
Файл манифеста:
<activity
android:name=".Input_Activity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
Java-файл:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.WindowManager;
public class Input_Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_input__activity);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
}
}
XML-файл:
<android.support.constraint.ConstraintLayout 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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Input_Activity">
<EditText
android:layout_width="214dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:inputType="number|numberDecimal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.585"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.725" />
All feedback would be appreciated.