为什么我不能在 textview android 中滚动?
Why i cant scroll in textview android?
我是 android 的初学者,我在 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>
发生了什么?
如果 TextView
没有自动滚动,请将其包裹在 ScrollView 中以使其滚动。
从documentations开始,TextView class也负责自己的滚动,所以不需要ScrollView,但是两者一起使用可以达到文本视图的效果在更大的容器中。
Paresh 提供的另一个答案可以,但肯定 maxLines
需要您输入任意数字;我猜这不是适用于所有屏幕尺寸和字体大小的东西。所以用 ScrollView
包裹它更简单,这意味着你不必添加任何进一步的 XML 属性或代码(比如设置移动方法)。
<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>
水平滚动:
<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());
在您的代码中。
它会帮助你。谢谢。
如果您想水平滚动文本,则将 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>
我是 android 的初学者,我在 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>
发生了什么?
如果 TextView
没有自动滚动,请将其包裹在 ScrollView 中以使其滚动。
从documentations开始,TextView class也负责自己的滚动,所以不需要ScrollView,但是两者一起使用可以达到文本视图的效果在更大的容器中。
Paresh 提供的另一个答案可以,但肯定 maxLines
需要您输入任意数字;我猜这不是适用于所有屏幕尺寸和字体大小的东西。所以用 ScrollView
包裹它更简单,这意味着你不必添加任何进一步的 XML 属性或代码(比如设置移动方法)。
<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>
水平滚动:
<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());
在您的代码中。
它会帮助你。谢谢。
如果您想水平滚动文本,则将 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>