在android

时间:2016-03-04 04:41:15

标签: android scrollview background-image

我有一个包含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>

此示例的问题在于,由于图像,屏幕可以向下滚动很长时间。如果有实际内容,我只希望屏幕滚动,例如文本,延伸到底部。

enter image description here

如果我试图将图像视图锚定到文本的底部,我会遇到如果文本不多,图像会在屏幕底部被剪裁的问题。

因此,图像应该延伸到屏幕的底部,但只有文本才会导致滚动。如果发生滚动,图像应该随之滚动,从而显示更多图像。

这个人一直在困扰我。我喜欢有关如何执行此操作的一些想法,最好不要求助于查询和设置活动代码中的视图大小。

1 个答案:

答案 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>