布局scrollview中的android textview scrollview

时间:2017-01-23 06:54:05

标签: android

我在ScrollView中设置了LinearLayout。我想要TextView滚动。我尝试在xml中使用ScrollView。但是,它没有用。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="8dp"
    tools:context=".SubpagesLayout.ReportResult">

    <!-- first scrollView -->
    <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">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/edit_corner_blue"
                android:gravity="center"
                android:text="@string/personalInformation"
                android:textColor="@android:color/white" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:orientation="horizontal">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/birthDate" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text=" TestData" />

            </LinearLayout>

            <!-- second scrollView -->
            <ScrollView
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                    <TextView
                        android:id="@+id/textOphthalmoscopy"
                        android:layout_width="match_parent"
                        android:layout_height="80dp"
                        android:text="standard instrth various settings that allow focusing and adjustment of the light source to accommodate the viewer and to evaluate various features of the fundus." />
            </ScrollView>
        </LinearLayout>
    </ScrollView>    
</LinearLayout>

我尝试了另外一种方式,但它仍然无法正常工作。

android:maxLines = "AN_INTEGER"
android:scrollbars = "vertical"

我用过

myTextView.setMovementMethod(new ScrollingMovementMethod());

那么如何让TextView滚动?如果是第二个ScrollView

2 个答案:

答案 0 :(得分:1)

您可以考虑使用NestedScrollViewListView来展示可滚动的TextView

ListView将具有固定大小,以便它不会占用内部项目的总高度。

所以布局可能如下所示。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="8dp"
    tools:context=".SubpagesLayout.ReportResult">

    <!-- first scrollView -->
    <NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

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

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/edit_corner_blue"
                android:gravity="center"
                android:text="@string/personalInformation"
                android:textColor="@android:color/white" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:orientation="horizontal">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/birthDate" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text=" TestData" />
            </LinearLayout>

            <ListView
                android:layout_width="match_parent"
                <!--set a fixed height-->
                android:layout_height="80dp"
                .. Other attributes
            </ListView>
        </LinearLayout>
    </NestedScrollView>    
</LinearLayout>

ListView的列表项可能包含您要滚动的TextView。将TextView的高度设置为wrap_content

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="8dp"
    tools:context=".SubpagesLayout.ReportResult">

        <TextView
            android:id="@+id/textOphthalmoscopy"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="standard instrth various settings that allow focusing and adjustment of the light source to accommodate the viewer and to evaluate various features of the fundus." />
</LinearLayout>

现在您的ListView将有一个项目,这将使用列表的默认行为滚动。

整个布局将通过NestedScrollView滚动。

希望有所帮助!

答案 1 :(得分:1)

在另一个scrollView中使用scrollView并不是一个好的预测但是你在下面检查链接它可能会解决你的问题。

Solution 1

Solution 2