【问题标题】:Button is hiding in nested scrollview with collapsing toolbar按钮隐藏在带有折叠工具栏的嵌套滚动视图中
【发布时间】:2023-03-19 22:39:01
【问题描述】:

我在注册片段中使用带有嵌套ScrollView 的折叠工具栏,但是当我单击一些编辑文本并打开键盘时,底部的注册按钮第一次没有完全显示,如果我滚动到底部然后按钮完全可见。

图片附在下面。

打开键盘前

键盘打开时

关闭键盘后

这里是xml代码。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="10dp"
        android:orientation="vertical">

            <android.support.design.widget.TextInputLayout
                style="@style/StyledTilEditText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/stemiIcon"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp">

                <EditText
                    android:id="@+id/et_reg_name"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Name"
                    android:imeOptions="actionNext"
                    android:inputType="textPersonName" />
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                style="@style/StyledTilEditText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/stemiIcon"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp">

                <EditText
                    android:id="@+id/et_reg_phone"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Phone"
                    android:imeOptions="actionNext"
                    android:inputType="phone" />
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                style="@style/StyledTilEditText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/stemiIcon"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp">

                <EditText
                    android:id="@+id/et_reg_dob"
                    style="@style/StyledTilEditText"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:clickable="true"
                    android:cursorVisible="false"
                    android:editable="false"
                    android:hint="Date of birth"
                    android:imeOptions="actionNext"
                    android:inputType="none"
                    android:longClickable="false" />
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                style="@style/StyledTilEditText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/stemiIcon"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp">

                <EditText
                    android:id="@+id/et_reg_email"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Email"
                    android:imeOptions="actionNext"
                    android:inputType="textEmailAddress" />
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                style="@style/StyledTilEditText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/stemiIcon"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp">

                <EditText
                    android:id="@+id/et_reg_password"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Password"
                    android:imeOptions="actionNext"
                    android:inputType="textPassword" />
            </android.support.design.widget.TextInputLayout>

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginStart="10dp"
                android:layout_marginTop="15dp"
                android:text="Gender"
                android:textColor="@color/text_line" />

            <com.agiliztech.stepout2play.customviews.AnswerTemplateView
                android:id="@+id/answerLayout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/have_diabetes"
                android:layout_margin="10dp"
                app:clickedColor="@color/selected_gender"
                app:colorView="@color/color_white"
                app:textBackground="@drawable/text_border_with_color"
                app:textColor="@color/selected_gender">

            </com.agiliztech.stepout2play.customviews.AnswerTemplateView>

        <Button
            android:id="@+id/bt_reg_register"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:background="@color/btn_color"
            android:text="REGISTER"
            android:textColor="@color/color_white" />
    </LinearLayout>


  </android.support.v4.widget.NestedScrollView>
</RelativeLayout>

【问题讨论】:

  • 你能解决这个问题吗?如果是,请添加答案。

标签: android button android-scrollview android-nestedscrollview


【解决方案1】:

将高度设置为match_parent并添加android:fillViewport元素

<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="10dp"
    android:fillViewport="true"/>
    ...
    ...
</android.support.v4.widget.NestedScrollView>

【讨论】:

  • 您尝试清理项目了吗?因为这个解决方案应该可以工作。
  • 谢谢!这有助于我在使用折叠工具栏布局时填充回收器视图底部的空白空间。
【解决方案2】:

添加

android:windowSoftInputTypeMode="adjustResize|stateAlwaysHidden"    to activity in your manifest, then make your nestedtscrollview height match parent and fillviewport true in the xml

【讨论】:

  • 当我转到那个片段时,它会自动打开键盘。但我不想自动显示键盘。
  • 所以键盘是你的问题?
  • 我想是的,因为一旦打开键盘,我就可以滚动到底部
【解决方案3】:

尝试将android:minHeight 添加到您的CollapsingToolbarLayout

【讨论】:

  • 最好加上一些解释。
猜你喜欢
  • 2016-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-27
相关资源
最近更新 更多