Android ScrollView绝对不会滚动
我有一个相当复杂的布局,我主要显示一张图片,上面有文字(重叠),底部有一些按钮。我动态设置了文本,在某些情况下它超过了文本框的高度,所以我决定添加一个ScrollView,但无论我怎么做,ScrollView都不会工作(滚动),并且“隐藏”文本也不会显示 我读过所有相关的StackOverflow帖子,但都没有运气,我也尝试过AndroidManifest中的android:fillViewport=“true”也没有运气,android:WindowsOfInputMode=“adjustResize | stateHidden”也没有运气 还有其他想法吗Android ScrollView绝对不会滚动,android,scroll,scrollview,Android,Scroll,Scrollview,我有一个相当复杂的布局,我主要显示一张图片,上面有文字(重叠),底部有一些按钮。我动态设置了文本,在某些情况下它超过了文本框的高度,所以我决定添加一个ScrollView,但无论我怎么做,ScrollView都不会工作(滚动),并且“隐藏”文本也不会显示 我读过所有相关的StackOverflow帖子,但都没有运气,我也尝试过AndroidManifest中的android:fillViewport=“true”也没有运气,android:WindowsOfInputMode=“adjustRe
<?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内容高度是一项相当复杂的任务,因为在呈现视图之前我需要这样做,但这是另一个线程的主题:),事实是动态计算内容高度并设置其布局高度为我完成了这项任务 祝大家快乐