前言

开发中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”,即可

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐