Не удалось прокрутить весь экран вверх в режиме прокрутки - PullRequest
0 голосов
/ 06 сентября 2018

Ладно, есть такой список флажков в просмотре карты, который находится под LinearLayout. и я добавил скролл-просмотр, так как он не может вместить их всех, и я хочу добавить слайдер позже. Но проблема в том, что я не могу заставить его прокручиваться до конца, как показано на рисунке ниже. Я попробовал несколько решений, таких как android:fillViewport="true", представленных на онлайн-форумах и на некоторых сайтах, но ни одно из них, похоже, не работает .

picture

Page_three.xml

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="top"
    android:fadeScrollbars="true"
    android:fillViewport="true"
    android:scrollbars="vertical">

    <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
        style="@style/CardStyle.Home"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <include layout="@layout/pref_check" />
    </android.support.v7.widget.CardView>

</ScrollView>

Pref_check.xml

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingTop="@dimen/view_spacing_small"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/preferences"
        android:textAppearance="@style/TextStyle.Title" />

    <CheckBox
        android:id="@+id/chkBeach"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/view_spacing_medium"
        android:checked="false"
        android:onClick="onCheckboxClicked"
        android:text="@string/beach" />

    <CheckBox
        android:id="@+id/chkBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/view_spacing_medium"
        android:checked="false"
        android:onClick="onCheckboxClicked"
        android:text="@string/bar" />

    <CheckBox
        android:id="@+id/chkMuseum"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/view_spacing_medium"
        android:checked="false"
        android:onClick="onCheckboxClicked"
        android:text="@string/museum" />

    <CheckBox
        android:id="@+id/chkRestaurant"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/view_spacing_medium"
        android:checked="false"
        android:onClick="onCheckboxClicked"
        android:text="@string/restaurant" />

    <CheckBox
        android:id="@+id/chkNightClub"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/view_spacing_medium"
        android:checked="false"
        android:onClick="onCheckboxClicked"
        android:text="@string/night_club" />

    <CheckBox
        android:id="@+id/chkArtGallery"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/view_spacing_medium"
        android:checked="false"
        android:onClick="onCheckboxClicked"
        android:text="@string/art_gallery" />

    <CheckBox
        android:id="@+id/chkAmusementPark"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/view_spacing_medium"
        android:checked="false"
        android:onClick="onCheckboxClicked"
        android:text="@string/amusement_park" />

    <CheckBox
        android:id="@+id/chkCasino"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/view_spacing_medium"
        android:checked="false"
        android:onClick="onCheckboxClicked"
        android:text="@string/casino" />

    <CheckBox
        android:id="@+id/chkClothingStore"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/view_spacing_medium"
        android:checked="false"
        android:onClick="onCheckboxClicked"
        android:text="@string/clothing_store" />

    <CheckBox
        android:id="@+id/chkShoppingMall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/view_spacing_medium"
        android:checked="false"
        android:onClick="onCheckboxClicked"
        android:text="@string/shopping_mall" />

    <CheckBox
        android:id="@+id/chkAmusementCenter"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/view_spacing_medium"
        android:checked="false"
        android:onClick="onCheckboxClicked"
        android:text="@string/amusement_center" />

    <CheckBox
        android:id="@+id/chkResort"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/view_spacing_medium"
        android:checked="false"
        android:onClick="onCheckboxClicked"
        android:text="@string/Resort" />
</LinearLayout>

Activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <FrameLayout
        android:id="@+id/frame_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/bottom_navigation"
        android:animateLayoutChanges="true">

    </FrameLayout>



    <android.support.design.widget.BottomNavigationView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/bottom_navigation"
        android:layout_alignParentBottom="true"
        app:itemBackground="@color/colorPrimary"
        app:itemIconTint="@color/white"
        app:itemTextColor="@color/white"
        app:menu="@menu/navigation"
        />




</RelativeLayout>

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

Решено:

Вместо добавления cardview в Page_three.xml я вместо этого обернул его вокруг LinearLayout в Pref_check.xml.

Page_three.xml

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fadeScrollbars="true"
    android:fillViewport="true"
    android:scrollbars="vertical"
    android:fitsSystemWindows="true">
   <LinearLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:orientation="vertical"
       android:paddingTop="@dimen/view_spacing_small">
       <include layout="@layout/pref_check" />

       <include layout="@layout/slider" />
   </LinearLayout>
</ScrollView>

Pref_check.xml

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/CardStyle.Home"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingTop="@dimen/view_spacing_small"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/preferences"
        android:textAppearance="@style/TextStyle.Title" />

    <CheckBox
        android:id="@+id/chkBeach"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/view_spacing_medium"
        android:checked="false"
        android:onClick="onCheckboxClicked"
        android:text="@string/beach" />
          .
          .
          .

</LinearLayout>
</android.support.v7.widget.CardView>
0 голосов
/ 06 сентября 2018

Должна быть некоторая проблема с styles configuration вашего проекта, потому что ваш макет находится ниже statusbar.

Используйте android:fitsSystemWindows="true" в корневом представлении макета, ScrollView в вашем случае.

EDITED

Вы должны добавить android:paddingBottom="?attr/actionBarSize" (Любой размер для BottomNavigationView) к ScrollView, чтобы макет был выше BottomNavigationView.

Я попробовал и протестировал код и его работоспособность

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="top"
    android:fadeScrollbars="true"
    android:fillViewport="true"
    android:paddingBottom="?attr/actionBarSize"
    android:scrollbars="vertical">

    <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingTop="16dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="adad" />

            <CheckBox
                android:id="@+id/chkBeach"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:checked="false"
                android:onClick="onCheckboxClicked"
                android:text="beach" />

            <CheckBox
                android:id="@+id/chkBar"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:checked="false"
                android:onClick="onCheckboxClicked"
                android:text="bar" />

            <CheckBox
                android:id="@+id/chkMuseum"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:checked="false"
                android:onClick="onCheckboxClicked"
                android:text="museum" />

            <CheckBox
                android:id="@+id/chkRestaurant"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:checked="false"
                android:onClick="onCheckboxClicked"
                android:text="restaurant" />

            <CheckBox
                android:id="@+id/chkNightClub"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:checked="false"
                android:onClick="onCheckboxClicked"
                android:text="night_club" />

            <CheckBox
                android:id="@+id/chkArtGallery"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:checked="false"
                android:onClick="onCheckboxClicked"
                android:text="art_gallery" />

            <CheckBox
                android:id="@+id/chkAmusementPark"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:checked="false"
                android:onClick="onCheckboxClicked"
                android:text="amusement_park" />

            <CheckBox
                android:id="@+id/chkCasino"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:checked="false"
                android:onClick="onCheckboxClicked"
                android:text="casino" />

            <CheckBox
                android:id="@+id/chkClothingStore"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:checked="false"
                android:onClick="onCheckboxClicked"
                android:text="clothing_store" />

            <CheckBox
                android:id="@+id/chkShoppingMall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:checked="false"
                android:onClick="onCheckboxClicked"
                android:text="shopping_mall" />

            <CheckBox
                android:id="@+id/chkAmusementCenter"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:checked="false"
                android:onClick="onCheckboxClicked"
                android:text="amusement_center" />

            <CheckBox
                android:id="@+id/chkResort"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:checked="false"
                android:onClick="onCheckboxClicked"
                android:text="Resort" />
        </LinearLayout>
    </android.support.v7.widget.CardView>

</ScrollView>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...