网站首页 > 教程分享 正文
前面几期学习了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文件,在其中填充如下代码片段:
其中description为定义的字符串,由于内容较多,此处不在给出。
运行程序,可以看到下图所示界面效果,界面可以上下滚动。
关于ScrollView先学到这里,更多用法建议自己多加练习。
今天就先到这里,如果有问题欢迎留言一起探讨,共同成长!
此文章版权为今日头条号分享达人就是我——鑫鱻所有,若需转载请联系作者授权,特此声明!
往期总结分享:
第1节:Android的前世今生
第2节:Android 系统架构和应用组件那些事
第3节:带你一起来聊一聊Android开发环境
第4节:正确安装和配置JDK
第5节:善用ADT Bundle
第6节:配置优化SDK Manager
第7节:搞定Android模拟器
第8节:HelloWorld,第一趟旅程出发点
第9节:Android实战,不懂代码也可以开发
第10节:开发IDE迎来Android Studio
第11节:运行Android Studio工程
第12节:熟悉Android Studio界面
第13节:Android Studio配置优化
第14节:使用高速Genymotion
第15节:掌握Android Studio项目结构
第16节:Android用户界面开发概述
第17节:文本框TextView
第18节:输入框EditText
第19节:按钮Button
第20节:选择控件CheckBox和RadioButton
第21节:开关控件ToggleButton和Switch
第22节:图像视图ImageView
第23节:ImageButton和ZoomButton
第24节:自定义View简单使用
第25节:简单且最常用的LinearLayout
第26节:layout_gravity和gravity大不同
第27节:正确使用padding和margin
第28节:轻松掌握RelativeLayout相对布局
第29节:善用TableLayout表格布局
第30节:两分钟掌握FrameLayout帧布局
第31节:少用的AbsoluteLayout绝对布局
第32节:新推出的GridLayout网格布局
第33节: Android事件处理概述
第34节:Android中基于监听的事件处理
第35节:Android中基于回调的事件处理
第36节:Android系统事件的处理
第37节:初识ListView
第38节:初识Adapter
第39节:ListActivity和自定义列表项
第40节:自定义ArrayAdapter
第41节:使用SimpleAdapter
第42节:自定义BaseAdapter
第43节:ListView优化和列表首尾使用
第44节:ListView数据动态更新
第45节:网格视图GridView
第46节:列表选项框Spinner
第47节:AutoCompleteTextView自动文本
第48节:ExpandableListView多级选择
第49节:AdapterViewFlipper图片轮播
第50节:StackView卡片堆叠
第51节:进度条ProgressBar
第52节:自定义炫酷进度条
第53节:SeekBar和RatingBar
第54节:视图切换组件ViewSwitcher
第55节:ImageSwitcher和TextSwitcher
第56节:翻转视图ViewFlipper
第57节:DatePicker和TimePicker选择器
第58节:数值选择器NumberPicker
第59节:常用三大Clock时钟组件
第60节:CalendarView和Chronometer
猜你喜欢
- 2024-10-28 Android开发基础入门(一):UI与基础控件
- 2024-10-28 Android开发新手入门(帧布局FrameLayout)
- 2024-10-28 Android开发者如何入门AI?试试在Android上用AI识别物体
- 2024-10-28 安卓零基础培训入门课程学习(安卓基础知识快速入门)
- 2024-10-28 Android系列之Activity入门介绍(activity an)
- 2024-10-28 安卓系统引领下一代制造业,四个步骤快速入门工业4.0
- 2024-10-28 Android实战004:Hello World入门实例体验
- 2024-10-28 Android程序员 如何入门iOS ——故事从这里开始
- 2024-10-28 Android开发新手入门(相对布局RelativeLayout)
- 2024-10-28 重磅首发!腾讯前晚最新爆出的"Android Studio零基础入门教材"
你 发表评论:
欢迎- 最近发表
-
- 有了这份900多页的Android面试指南,你离大厂Offer还远吗?
- K2 Blackpearl 流程平台总体功能介绍:常规流程功能
- 零基础安卓开发起步(一)(安卓开发入门视频)
- 教程:让你的安卓像Windows一样实现程序窗口化运行
- Android事件总线还能怎么玩?(事件总线有什么好处)
- Android 面试被问“谈谈架构”,到底要怎样回答才好?
- Android开发工具Parcel和Serialize
- Android 中Notification的运用(notification widget安卓)
- Android退出所有Activity最优雅的方式
- MT管理器-简单实战-去除启动页(mt管理器怎么去除软件弹窗)
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)