【发布时间】:2020-03-17 21:28:28
【问题描述】:
我想要一个在键盘打开时应该在底部粘着的按钮。
线性布局,长格式包含多个垂直方向的edittext。
按钮位于scrollview的底部和外部
Manifest 有一个 adjustsize 属性
所以当我点击任何编辑文本时,按钮会出现在键盘顶部。
我什至尝试过android:fitsToSystemWindow=true,但没有任何效果
我想要这样的东西,其中按钮不会出现在键盘上,并且按钮也应该在底部保持粘性。我怎样才能做到这一点?
这是我的 XML 文件
<androidx.constraintlayout.widget.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=".items.ui.AddEditItemFragment">
<ScrollView android:id="@+id/sv_add_edit_item" android:layout_width="match_parent"
android:layout_height="0dp" app:layout_constraintBottom_toTopOf="@+id/btn_save"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"
android:orientation="vertical">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/itemNameInputLayout" android:layout_width="match_parent"
android:layout_height="wrap_content" android:background="@color/white"
android:padding="@dimen/default_margin_padding" app:errorEnabled="true"
app:errorTextAppearance="@style/ErrorText" app:hintTextAppearance="@style/HintText">
<com.google.android.material.textfield.TextInputEditText
style="@style/editTextInputLayout" android:layout_width="match_parent"
android:layout_height="wrap_content" android:inputType="textCapWords"
android:maxLines="1" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/itemNameInputLayout" android:layout_width="match_parent"
android:layout_height="wrap_content" android:background="@color/white"
android:padding="@dimen/default_margin_padding" app:errorEnabled="true"
app:errorTextAppearance="@style/ErrorText" app:hintTextAppearance="@style/HintText">
<com.google.android.material.textfield.TextInputEditText
style="@style/editTextInputLayout" android:layout_width="match_parent"
android:layout_height="wrap_content" android:inputType="textCapWords"
android:maxLines="1" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/itemNameInputLayout" android:layout_width="match_parent"
android:layout_height="wrap_content" android:background="@color/white"
android:padding="@dimen/default_margin_padding" app:errorEnabled="true"
app:errorTextAppearance="@style/ErrorText" app:hintTextAppearance="@style/HintText">
<com.google.android.material.textfield.TextInputEditText
style="@style/editTextInputLayout" android:layout_width="match_parent"
android:layout_height="wrap_content" android:inputType="textCapWords"
android:maxLines="1" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/itemNameInputLayout" android:layout_width="match_parent"
android:layout_height="wrap_content" android:background="@color/white"
android:padding="@dimen/default_margin_padding" app:errorEnabled="true"
app:errorTextAppearance="@style/ErrorText" app:hintTextAppearance="@style/HintText">
<com.google.android.material.textfield.TextInputEditText
style="@style/editTextInputLayout" android:layout_width="match_parent"
android:layout_height="wrap_content" android:inputType="textCapWords"
android:maxLines="1" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/itemNameInputLayout" android:layout_width="match_parent"
android:layout_height="wrap_content" android:background="@color/white"
android:padding="@dimen/default_margin_padding" app:errorEnabled="true"
app:errorTextAppearance="@style/ErrorText" app:hintTextAppearance="@style/HintText">
<com.google.android.material.textfield.TextInputEditText
style="@style/editTextInputLayout" android:layout_width="match_parent"
android:layout_height="wrap_content" android:inputType="textCapWords"
android:maxLines="1" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/itemNameInputLayout" android:layout_width="match_parent"
android:layout_height="wrap_content" android:background="@color/white"
android:padding="@dimen/default_margin_padding" app:errorEnabled="true"
app:errorTextAppearance="@style/ErrorText" app:hintTextAppearance="@style/HintText">
<com.google.android.material.textfield.TextInputEditText
style="@style/editTextInputLayout" android:layout_width="match_parent"
android:layout_height="wrap_content" android:inputType="textCapWords"
android:maxLines="1" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/itemNameInputLayout" android:layout_width="match_parent"
android:layout_height="wrap_content" android:background="@color/white"
android:padding="@dimen/default_margin_padding" app:errorEnabled="true"
app:errorTextAppearance="@style/ErrorText" app:hintTextAppearance="@style/HintText">
<com.google.android.material.textfield.TextInputEditText
style="@style/editTextInputLayout" android:layout_width="match_parent"
android:layout_height="wrap_content" android:inputType="textCapWords"
android:maxLines="1" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
</ScrollView>
<Button android:id="@+id/btn_save" style="@style/buttonThemeColor"
android:layout_width="match_parent" android:text="@string/save"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>```
Any help will be appreciated
【问题讨论】:
-
尝试在此处发布您的 xml 布局,以便我们看到问题
-
@L2 已添加...请检查
-
不工作,我保持我的活动
adjustPan和滚动视图保持isScrollContainer = false但不工作 -
我想在键盘打开时滚动,但按钮应该粘在底部
标签: android xml android-layout kotlin