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