簡體   English   中英

ScrollView沒有按片段滾動或無法正常工作

[英]ScrollView is not scrolling in fragment or not working properly

我是android的新手,正在開發一個應用程序,但遇到一個錯誤,這使我發瘋。 問題是它不能完全滾動,它使屏幕上沒有按鈕,因此無法看到它。 Scrollview在每個活動中都可以正常工作,但在選項卡式活動中不起作用。 如果我將高度match-parent更改為500dp或任何整數值,此代碼android:layout_height="match_parent"會出現問題。 我想知道為什么配偶不起作用。

我已經嘗試過對這個問題進行所有建議的編輯,但是仍然沒有任何編輯工作。

這是我的XML文件

<RelativeLayout 
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"
android:background="@mipmap/back"
android:paddingBottom="10dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="5dp"
tools:context="com.example.sahil.bloodbank.first"
>

<ScrollView
    android:id="@+id/sc1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    android:scrollbars="vertical"
>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

<TextView
    android:id="@+id/name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#000000"
    android:textSize="20sp"
    android:text="Welcome,"/>

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@mipmap/wall1"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:id="@+id/desc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/imageView"
        android:gravity="center"
        android:text="@string/data"
        android:textAlignment="gravity"
        android:textColor="@color/data"
        android:textSize="17sp" />

    <TextView
        android:id="@+id/data"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/note"
        android:textColor="@color/data"
        android:textStyle="bold"
        android:layout_marginTop="40dp"
        android:layout_below="@+id/desc"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <Button
        android:id="@+id/donate"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        android:text="I want to Donate Blood"
        android:textColor="@color/text"
        android:textSize="18sp"
        android:layout_below="@+id/data"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="14dp"
        />

</LinearLayout>
</ScrollView>
</RelativeLayout>

滾動視圖必須是根元素。

<ScrollView 
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="com.example.sahil.bloodbank.first"
>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@mipmap/back"
android:paddingBottom="10dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="5dp"
>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

<TextView
    android:id="@+id/name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#000000"
    android:textSize="20sp"
    android:text="Welcome,"/>

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@mipmap/wall1"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:id="@+id/desc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/imageView"
        android:gravity="center"
        android:text="@string/data"
        android:textAlignment="gravity"
        android:textColor="@color/data"
        android:textSize="17sp" />

    <TextView
        android:id="@+id/data"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/note"
        android:textColor="@color/data"
        android:textStyle="bold"
        android:layout_marginTop="40dp"
        android:layout_below="@+id/desc"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <Button
        android:id="@+id/donate"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        android:text="I want to Donate Blood"
        android:textColor="@color/text"
        android:textSize="18sp"
        android:layout_below="@+id/data"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="14dp"
        />

</LinearLayout>

</RelativeLayout>
</ScrollView>

您的滾動視圖必須是MATCHPARENT的高度

 <ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">

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

將Scrollview設為根視圖,高度應為MATCH_PARENT

<ScrollView 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">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
    <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#000000"
        android:textSize="20sp"
        android:text="Welcome,"/>

        <ImageView
            android:id="@+id/imageView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:srcCompat="@mipmap/wall1"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />

        <TextView
            android:id="@+id/desc"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/imageView"
            android:gravity="center"
            android:text="@string/data"
            android:textAlignment="gravity"
            android:textColor="@color/data"
            android:textSize="17sp" />

        <TextView
            android:id="@+id/data"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/note"
            android:textColor="@color/data"
            android:textStyle="bold"
            android:layout_marginTop="40dp"
            android:layout_below="@+id/desc"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />

        <Button
            android:id="@+id/donate"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/colorPrimary"
            android:text="I want to Donate Blood"
            android:textColor="@color/text"
            android:textSize="18sp"
            android:layout_below="@+id/data"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_marginTop="14dp"
            />
        </LinearLayout>
    </ScrollView>

嘗試使用此代碼並更改此代碼,以增強您的需求,並確保在發生滾動效果后視圖的大小與屏幕大小相同。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:clickable="true">

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

    <ImageView
        android:id="@+id/epfIvUserImage"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:src="@drawable/big_user" />

    <EditText
        android:id="@+id/epfEtFirstName"
        style="@style/EditText"
        android:drawableLeft="@drawable/user"
        android:hint="@string/user_name"
        android:singleLine="true"
        android:digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
        android:nextFocusForward="@id/epfEtEmail"
        android:imeOptions="actionNext"
        />

    <EditText
        android:id="@+id/epfEtEmail"
        style="@style/EditText"
        android:drawableLeft="@drawable/email"
        android:hint="@string/email"
        android:inputType="textEmailAddress"
        android:singleLine="true"
        android:nextFocusForward="@id/epfEtCountry"
        android:imeOptions="actionNext"
        />

    <EditText
        android:id="@+id/epfEtCountry"
        style="@style/EditText"
        android:drawableLeft="@drawable/country"
        android:hint="@string/country"
        android:singleLine="true"
        android:nextFocusForward="@id/epfEtState"
        android:imeOptions="actionNext"
        />

    <EditText
        android:id="@+id/epfEtState"
        style="@style/EditText"
        android:drawableLeft="@drawable/state"
        android:hint="@string/state"
        android:singleLine="true"
        android:nextFocusForward="@id/epfEtCity"
        android:imeOptions="actionNext"/>

    <EditText
        android:id="@+id/epfEtCity"
        style="@style/EditText"
        android:drawableLeft="@drawable/city"
        android:hint="@string/city"
        android:singleLine="true"
        android:nextFocusForward="@id/epfEtPincode"
        android:imeOptions="actionNext"/>
    <EditText
        android:id="@+id/epfEtPincode"
        style="@style/EditText"
        android:drawableLeft="@drawable/street"
        android:hint="@string/zip_code"
        android:singleLine="true"
        android:inputType="text"
        android:nextFocusForward="@id/epfEtDescription"
        android:imeOptions="actionNext"
        />

    <EditText
        android:id="@+id/epfEtDescription"
        style="@style/EditText"
        android:drawableLeft="@drawable/descriptions"
        android:hint="@string/description"
        android:maxLines="3"
        android:overScrollMode="always"
        android:scrollbarStyle="insideInset"
        android:scrollbars="vertical"
        android:paddingBottom="@dimen/_30sdp"
        />

    <TextView
        android:id="@+id/epfTvUpdate"
        android:text="@string/update"
        style="@style/TextViewButton"
        />


</LinearLayout>
</ScrollView>

您無需將“ 滾動視圖”作為“ 根布局” 但是您可能需要向Scroll View添加更多屬性,例如android:scrollbars="vertical"android:fillViewport="true" 您也可以使用類似的方法,例如將Button Scroll View之外,然后僅滾動其他內容,這樣,您的Button始終會在屏幕上可見,只有您的內容才會滾動。

喜歡

<?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"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@mipmap/ic_launcher"
    android:paddingBottom="10dp"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:paddingTop="5dp">

    <ScrollView
        android:layout_above="@+id/donate"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true"
        android:scrollbars="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <TextView
                android:id="@+id/name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Welcome,"
                android:textColor="#000000"
                android:textSize="20sp" />

            <ImageView
                android:id="@+id/imageView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                app:srcCompat="@android:drawable/ic_menu_share" />

            <TextView
                android:id="@+id/desc"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/imageView"
                android:gravity="center"
                android:text="Description DescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescriptionDescription"
                android:textAlignment="gravity"
                android:textColor="@color/colorPrimary"
                android:textSize="17sp" />

            <TextView
                android:id="@+id/data"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_below="@+id/desc"
                android:layout_marginTop="40dp"
                android:text=" Note DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote DataNote Data"
                android:textColor="@color/colorPrimary"
                android:textStyle="bold" />



        </LinearLayout>
    </ScrollView>

    <Button
        android:id="@+id/donate"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="10dp"
        android:background="@color/colorPrimary"
        android:text="I want to Donate Blood"
        android:textColor="@color/colorPrimary"
        android:textSize="18sp" />
</RelativeLayout>

Fragment您可以在Scroll View內嘗試使用此屬性android:isScrollContainer="false"

如果那不起作用,請嘗試使用Fragment NestedScrollView

<android.support.v4.widget.NestedScrollView
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:fillViewport="true"
     app:layout_behavior="@string/appbar_scrolling_view_behavior" >


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

需要將標准ScrollView用作父級。 我認為您在活動中使用ToolBar。 因此,在這種情況下,您可以將NestedScrollView與屬性app:layout_behavior =“ @ string / appbar_scrolling_view_behavior”結合使用

因此,將ScrollView替換為:---

<NestedScrollView
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:fillViewport="true"
  app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

  {Your Child View}

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM