Android ScrollView绝对不会滚动

Android ScrollView绝对不会滚动,android,scroll,scrollview,Android,Scroll,Scrollview,我有一个相当复杂的布局,我主要显示一张图片,上面有文字(重叠),底部有一些按钮。我动态设置了文本,在某些情况下它超过了文本框的高度,所以我决定添加一个ScrollView,但无论我怎么做,ScrollView都不会工作(滚动),并且“隐藏”文本也不会显示 我读过所有相关的StackOverflow帖子,但都没有运气,我也尝试过AndroidManifest中的android:fillViewport=“true”也没有运气,android:WindowsOfInputMode=“adjustRe

我有一个相当复杂的布局,我主要显示一张图片,上面有文字(重叠),底部有一些按钮。我动态设置了文本,在某些情况下它超过了文本框的高度,所以我决定添加一个ScrollView,但无论我怎么做,ScrollView都不会工作(滚动),并且“隐藏”文本也不会显示

我读过所有相关的StackOverflow帖子,但都没有运气,我也尝试过AndroidManifest中的android:fillViewport=“true”也没有运气,android:WindowsOfInputMode=“adjustResize | stateHidden”也没有运气

还有其他想法吗

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/mainLayout"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical"
              android:background="@drawable/gradient_background">

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:visibility="invisible"
            android:paddingLeft="20dp"
            android:paddingRight="20dp"
            android:id="@+id/rlThought">

                <ImageView
                    android:id="@+id/ivBackground"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:adjustViewBounds="true"
                    android:contentDescription="@string/desc"
                    android:scaleType="centerCrop"
                    android:cropToPadding="true"
                    android:background="@drawable/frame_border_phone" />

                <ScrollView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:fillViewport="true"
                    android:layout_centerInParent="true">

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

                        <TextView
                            android:id="@+id/tvThought"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_centerInParent="true"
                            android:gravity="center"
                            android:shadowColor="#000"
                            android:shadowDx="2"
                            android:shadowDy="2"
                            android:shadowRadius="6"
                            android:paddingLeft="30dp"
                            android:paddingRight="30dp"
                            android:textColor="#FFF"
                            android:textSize="28sp"
                            android:textStyle="bold" />

                        <View
                            android:layout_width="match_parent"
                            android:layout_height="100dp" />

                    </LinearLayout>

                </ScrollView>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:id="@+id/llFrameInfo"
                android:orientation="vertical">

                <!--llSignature-->
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/llSignature"
                    android:orientation="horizontal">

                    <TextView
                        android:id="@+id/tvSignaturePrefix"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textColor="#000"
                        android:textStyle="bold"
                        android:textSize="12sp" />

                    <TextView
                        android:id="@+id/tvSignature"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textColor="#000"
                        android:textSize="12sp" />

                </LinearLayout>

                <!--llTrackDetails-->
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/llTrackDetails"
                    android:visibility="gone"
                    android:paddingBottom="1dp"
                    android:layout_below="@id/llSignature"
                    android:orientation="horizontal">

                    <TextView
                        android:id="@+id/tvTrackDetailsTitle"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textColor="#000"
                        android:textStyle="bold"
                        android:textSize="12sp" />

                    <TextView
                        android:id="@+id/tvTrackDetails"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textColor="#000"
                        android:textSize="12sp" />

                </LinearLayout>

                <!--Copyright-->
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/llCopyright"
                    android:layout_below="@id/llTrackDetails"
                    android:orientation="horizontal">

                    <TextView
                        android:id="@+id/tvCopyright"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textColor="#000"
                        android:textSize="12sp" />

                </LinearLayout>

            </LinearLayout>

        </RelativeLayout>

        <ImageView
            android:id="@+id/animOverlay"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:adjustViewBounds="true"
            android:contentDescription="@string/desc"
            android:scaleType="centerCrop"
            android:cropToPadding="true"
            android:visibility="invisible" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/llBottomMenu"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_alignParentBottom="true"
            android:orientation="vertical">

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="20dp"
                android:orientation="horizontal">

                <ImageView
                    android:id="@+id/ivShareImage"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="start"
                    android:src="@drawable/menu_share"
                    android:contentDescription="@string/thought_share" />

                <ImageView
                    android:id="@+id/ivShareVideo"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="start"
                    android:src="@drawable/menu_share"
                    android:contentDescription="@string/thought_share" />

                <ImageView
                    android:id="@+id/ivSave"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="start"
                    android:layout_marginLeft="8dp"
                    android:src="@drawable/save"
                    android:contentDescription="@string/thought_save" />

                <ImageView
                    android:id="@+id/ivPlay"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="start"
                    android:layout_marginLeft="10dp"
                    android:src="@drawable/play"
                    android:contentDescription="@string/track_play" />

                <ImageView
                    android:id="@+id/ivPause"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="start"
                    android:layout_marginLeft="10dp"
                    android:src="@drawable/pause"
                    android:contentDescription="@string/track_stop" />

                <Spinner
                    android:id="@+id/animSpinner"
                    android:layout_width="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:layout_height="35dp" />

            </LinearLayout>

        </LinearLayout>

    </RelativeLayout>

</LinearLayout>

编辑1:


好的,经过长时间的反复试验,我让ScrollView部分工作。我已经删除了第二个RelativeLayout(从顶部开始计数),不知道为什么,但开始工作了,但现在的问题是,您看到的是文本被剪切,而不是全文,甚至您可以滚动:s

好的,我将再次回答我自己的问题,以防它对其他面临相同问题的人有所帮助。 在我的特殊情况下,将ScrollView内容(在我的例子中是TextView)布局高度设置为“wrap\u content”会导致ScrollView不滚动(为什么?),而如果我设置一个固定值,scroll就会开始工作,所以最后,我所做的是在代码中计算ScrollView内容并动态设置其布局高度

动态计算ScrollView内容高度是一项相当复杂的任务,因为在呈现视图之前我需要这样做,但这是另一个线程的主题:),事实是动态计算内容高度并设置其布局高度为我完成了这项任务

祝大家快乐