Android TextView 设置内容可滚动

前言

开发中scrollBar 用的最多的地方就是在内容超过显示区域后,可以手动上下左右滑动来查看
解决方案比较多。

方案一

使用一个可滑动的组件ScroolView包裹用于在内容超过显示区域后可滑动的布局。限制一个固定高度即可实现

<ScrollView
	android:layout_width="match_parent"
	android:layout_height="match_parent"
	android:layout_above="@+id/tv_bottom"
	android:layout_marginLeft="3.5dp"
	android:layout_marginTop="40dp"
	android:layout_marginRight="3.5dp"
	android:layout_marginBottom="6dp"
	android:background="@color/white">

	<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:layout_gravity="center_vertical"
			android:layout_marginLeft="30dp"
			android:ellipsize="end"
			android:lineSpacingExtra="8dp"
			android:text="填入可滑动内容...."
			android:textColor="@color/color_4a4a4a"
			android:textSize="13sp" />

	</LinearLayout>

</ScrollView>
方案二

设置TextView 的Scrollbars 属性为vertical。(共三个属性[horizontal,vertical,none])。在
Activity界面中 findViewById 找到Textview组件。调用
public final void setMovementMethod(MovementMethod movement) { } ,设置MovementMethod。

 <TextView
   android:scrollbarStyle="outsideInset"
    android:id="@+id/txt_scroll"
    android:scrollbars="vertical"
    android:layout_width="wrap_content"
    android:layout_height="150dp"
    android:text="@string/world_get_ingral_dailog_one"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

class MainActivity : AppCompatActivity() {
	override fun onCreate(savedInstanceState: Bundle?) {
		super.onCreate(savedInstanceState)
		setContentView(R.layout.activity_main)
		val text = findViewById<TextView>(R.id.txt_scroll)
		text.movementMethod = ScrollingMovementMethod.getInstance()
	}
}

效果如下图。均可以实现滑动。

在这里插入图片描述
系统默认scrollBar为渐隐效果,如果需要常显设置 android:fadeScrollbars=“false”,即可

Android中,可以通过设置TextView的属性和使用一些代码来实现垂直自动滚动效果。 首先,我们可以使用xml布局文件或者代码动态创建一个TextView。在xml布局文件中,我们可以设置TextView的宽度和高度、文字内容等属性。 接下来,可以在代码中通过设置TextView的属性来实现垂直自动滚动。首先,我们可以使用setMaxLines方法来设置TextView的最大行数,让它只显示一行。然后,可以使用setEllipsize方法来设置TextView的省略方式为Marquee,表示文字超出一行时以滚动的形式显示。最后,再调用setSelected方法来启动滚动效果。 示例代码如下: ```java TextView textView = findViewById(R.id.text_view); textView.setMaxLines(1); textView.setEllipsize(TextUtils.TruncateAt.MARQUEE); textView.setSelected(true); ``` 这样,当TextView的文字内容超过一行时,就会自动以滚动的方式显示。需要注意的是,在xml布局文件中或者代码中,需要将TextView的单行显示设置为true,并且保证TextView可获取焦点才能触发滚动效果。 除了上述方法,还可以使用属性动画或者使用Handler来实现TextView的垂直自动滚动效果。使用属性动画可以设置动画效果的速度和插值器,更加灵活。使用Handler的方式可以自定义滚动的速度和间隔时间。 总之,通过设置TextView的属性和使用一些代码,我们可以实现AndroidTextView的垂直自动滚动效果,提升用户体验。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灯塔@kuaidao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值