[英]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.