我有一个包含ScrollView中某些内容的布局文件。最后一个视图具有一个大的背景图像,以便容纳未知长度的文本。 我希望这个背景图像至少延伸到屏幕的底部,但是否则会剪切到其相关文本的大小(因此用户不会显示大的空白区域滚动,只有背景图像)。 / p>
这是一次尝试:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/header_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Here's a random view with contents"
android:textSize="50sp" />
<EditText
android:id="@+id/edit_text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/header_text"
android:hint="Here's\nan\nedit\ntext\nof\nunknown\nlength\nand\nsize" />
<RelativeLayout
android:id="@+id/rl_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/edit_text_view">
<ImageView
android:id="@+id/android_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:scaleType="matrix"
android:src="@drawable/robot" />
<TextView
android:id="@+id/bottom_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:text="Here's some\nadditional text\nof\nunknown\nlength." />
</RelativeLayout>
</RelativeLayout>
</ScrollView>
此示例的问题在于,由于图像,屏幕可以向下滚动很长时间。如果有实际内容,我只希望屏幕滚动,例如文本,延伸到底部。
如果我试图将图像视图锚定到文本的底部,我会遇到如果文本不多,图像会在屏幕底部被剪裁的问题。
因此,图像应该延伸到屏幕的底部,但只有文本才会导致滚动。如果发生滚动,图像应该随之滚动,从而显示更多图像。
这个人一直在困扰我。我喜欢有关如何执行此操作的一些想法,最好不要求助于查询和设置活动代码中的视图大小。
答案 0 :(得分:0)
尝试,
使用Imageview的Frame Layout和底部的Textview。像这样的东西。
<FrameLayout
android:id="@+id/rl_bottom"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/edit_text_view">
<ImageView
android:id="@+id/android_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="matrix"
android:src="@drawable/background" />
<TextView
android:id="@+id/bottom_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/colorPrimaryDark"
android:text="Here's some\nadditional text\nof\nunknown\nlength.Here's some\nadditional text\nof\nunknown\nlength.Here's some\nadditional text\nof\nunknown\nlength.Here's some\nadditional text\nof\nunknown\nlength.Here's some\nadditional text\nof\nunknown\nlength.Here's some\nadditional text\nof\nunknown\nlength." />
</FrameLayout>