为了账号安全,请及时绑定邮箱和手机立即绑定

Android零基础入门第61节:滚动视图ScrollView

标签:
Android

 前面几期学习了ProgressBar系列组件、ViewAnimator系列组件、Picker系列组件和时间日期系列组件,接下来几期继续来学习常见的其他组件。

                                              

一、ScrollView概述

    从前面的学习有的同学可能已经发现,当拥有很多内容时屏幕显示不完,显示不全的部分完全看不见。但是在实际项目里面,很多内容都不止一个屏幕宽度或高度,那怎么办呢?那就需要本节学习的ScrollView来完成。

    在默认情况下,ScrollView只是为其他组件添加垂直滚动条,如果应用需要添加水平滚动条,则可借助于另一个滚动视图HorizontalScrollView来实现。ScrollView与HorizontalScrollView的功能基本相似,只是前者添加垂直滚动条,后者添加水平滚动条。

    ScrollView由FrameLayout派生而出,它就是一个用于为普通组件添加滚动条的组件。 ScrollView里最多只能包含一个组件,而ScrollView的作用就是为该组件添加垂直滚动条。

    ScrollView支持的XML属性如下:

·         android:scrollX:以像素为单位设置水平方向滚动的的偏移值。

·         android:scrollY:以像素为单位设置垂直方向滚动的的偏移值。

·         android:scrollbarAlwaysDrawHorizontalTrack:设置是否始终显示垂直滚动条。

·         android:scrollbarAlwaysDrawVerticalTrack:设置是否始终显示垂直滚动条。

·         android:scrollbarDefaultDelayBeforeFade:设置N毫秒后开始淡化,以毫秒为单位。

·         android:scrollbarFadeDuration:设置滚动条淡出效果(从有到慢慢的变淡直至消失)时间,以毫秒为单位。

·         android:scrollbarSize:设置滚动条的宽度。

·         android:scrollbarStyle:设置滚动条的风格和位置。属性值有以下几个:

·         outsideInset:该ScrollBar显示在视图(view)的边缘,增加了view的padding. 如果可能的话,该ScrollBar仅仅覆盖这个view的背景。

·         outsideOverlay:该ScrollBar显示在视图(view)的边缘,不增加view的padding,该ScrollBar将被半透明覆盖。

·         insideInset:该ScrollBar显示在padding区域里面,增加了控件的padding区域,该ScrollBar不会和视图的内容重叠。

·         insideOverlay:该ScrollBar显示在内容区域里面,不会增加了控件的padding区域,该ScrollBar以半透明的样式覆盖在视图(view)的内容上。

·         android:scrollbarThumbHorizontal:设置水平滚动条的drawable。

·         android:scrollbarThumbVertical:设置垂直滚动条的drawable。

·         android:scrollbarTrackHorizontal:设置水平滚动条背景(轨迹)的色drawable。

·         android:scrollbarTrackVertical:设置垂直滚动条背景(轨迹)的drawable。

·         android:scrollbars:设置滚动条显示。属性值有:none、horizontal、vertical。

    ScrollView的几个常用方法有:

·         addView (View child):添加子视图。如果事先没有给子视图设置layout参数,会采用当前ViewGroup的默认参数来设置子视图。

·         addView (View child, int index):添加子视图。如果事先没有给子视图设置layout参数,会采用当前ViewGroup的默认参数来设置子视图。

·         arrowScroll (int direction):响应点击上下箭头时对滚动条滚动的处理。

·         fling (int velocityY):滚动视图的滑动(fling)手势。

二、ScrollView示例

    接下来通过一个简单的示例程序来学习ScrollView的使用。

    继续使用WidgetSample工程的advancedviewsample模块,在app/main/res/layout/目录下创建scrollview_layout.xml文件,在其中填充如下代码片段:

[代码]xml代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"

            android:layout_width="fill_parent"

            android:layout_height="wrap_content"

            android:orientation="vertical"

            android:padding="10dp"

            android:fillViewport="false">

 

    <LinearLayout

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:orientation="vertical">

        <ImageView

            android:id="@+id/imageView"

            android:layout_width="wrap_content"

            android:layout_height="200dp"

            android:scaleType="centerCrop"

            android:class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="@drawable/image" />

        <Button

            android:id="@+id/more_btn"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:text="more" />

        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="ScrollView"

            android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="@string/description"

            android:textAppearance="?android:attr/textAppearanceSmall" />

    </LinearLayout>

</ScrollView>

    其中description为定义的字符串,由于内容较多,此处不在给出。

    运行程序,可以看到下图所示界面效果,界面可以上下滚动。

    关于ScrollView先学到这里,更多用法建议自己多加练习。

    今天就先到这里,如果有问题欢迎留言一起探讨,也欢迎加入Android零基础入门技术讨论微信群,共同成长!

原文链接:http://www.apkbus.com/blog-205190-72670.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消