为什么我不能在textview android中滚动?

时间:2015-07-28 05:27:54

标签: android textview android-scrollview

我是android的初学者,我编写简单的apllication在android studio中的textView中显示一个简单的文本,但是当我在textView中写一个大文本时,textview无法滚动,我的xml文件是:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer_layout"
    android:layout_width="match_parent" android:layout_height="match_parent"
    tools:context=".MainActivity">
    <FrameLayout android:id="@+id/container" android:layout_width="match_parent"
            android:layout_height="match_parent" >
    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Large Text"
            android:id="@+id/MAINLABEL"
            android:layout_gravity="center" />
        </FrameLayout>
</android.support.v4.widget.DrawerLayout>


会发生什么?

4 个答案:

答案 0 :(得分:5)

水平滚动:

<HorizontalScrollView android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView android:layout_width="40dp"
        android:layout_height="wrap_content"
        android:scrollHorizontally="true"
        android:text="Horizontal scroll view will work now"/>

</HorizontalScrollView>

垂直滚动:

您实际上不需要ScrollView

只需设置

即可
android:maxLines = "AN_INTEGER"

android:scrollbars = "vertical"

布局的xml文件中TextView的属性。

然后使用:

yourTextView.setMovementMethod(new ScrollingMovementMethod());

代码。

它会帮助你。感谢。

答案 1 :(得分:2)

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

<TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Large Text"
            android:id="@+id/MAINLABEL"
            android:layout_gravity="center" />

</ScrollView>

答案 2 :(得分:0)

如果TextView没有自动滚动,请将其包裹在ScrollView内以使其滚动。

documentations开始,TextView类也会处理自己的滚动,因此不需要ScrollView,但是将两者结合使用可以在更大的容器中实现文本视图的效果。 / p>

Paresh提供的另一个答案可行,但肯定maxLines要求您输入任意数字;这不是适用于每种屏幕尺寸和字体大小的东西。因此,使用ScrollView包装它更简单,这意味着您不必添加任何其他XML属性或代码(如设置移动方法)。

答案 3 :(得分:0)

如果您想水平滚动文字,请将TextView包裹在HorizontalScrollView内,或者如果您想垂直滚动TextView,请将其打包到ScrollView

对于水平滚动

 <HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >

    <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:text="Large Text"
                android:id="@+id/yourid"/>

    </HorizontalScrollView>

垂直滚动

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

<TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Large Text"
            android:id="@+id/yourid"/>

</ScrollView>