ScrollView 种类:

1.HorizontalScrollView:水平滚动视图

2.ScrollView:垂直滚动视图(常用类)

  1. public class MainActivity extends AppCompatActivity {
  2. private TextView text;
  3. private ScrollView scrollView;
  4.  
  5. @Override
  6. protected void onCreate(Bundle savedInstanceState) {
  7. super.onCreate(savedInstanceState);
  8. setContentView(R.layout.activity_main);
  9. //注册控件
  10. text = (TextView) findViewById(R.id.txt);
  11. scrollView = (ScrollView) findViewById(R.id.scrollview);
  12.  
  13. //设置text文本内容
  14. text.setText(getResources().getString(R.string.context));
  15.  
  16. //设置ScrollView滚动条不可见
  17. scrollView.setVerticalScrollBarEnabled(false);
  18.  
  19. scrollView.setOnTouchListener(new View.OnTouchListener() {
  20. @Override
  21. public boolean onTouch(View v, MotionEvent event) {
  22. switch (event.getAction()){
  23. case MotionEvent.ACTION_UP:{
  24. break;
  25. }
  26.  
  27. case MotionEvent.ACTION_DOWN:{
  28. break;
  29. }
  30.  
  31. case MotionEvent.ACTION_MOVE:{
  32. //顶部状态
  33. if(scrollView.getScrollY() <= 0){
  34. Log.i( "main", "到达顶部");
  35. }
  36. //底部状态
  37. //TextView的总高度 <= 一屏幕的高度 + 滚动条的滚动距离
  38. if(scrollView.getChildAt(0).getMeasuredHeight() <= scrollView.getHeight() +
  39. scrollView.getScrollY()){
  40. Log.i("main","到达底部" + "总高度" + scrollView.getChildAt(0).getMeasuredHeight() + "一屏幕高度" + scrollView.getHeight() + "滚动条滚动距离" + scrollView.getScrollY());
  41. //添加内容
  42. text.append(getResources().getString(R.string.context));
  43. }
  44. break;
  45. }
  46. }
  47. return false;
  48. }
  49. });
  50.  
  51. }

  

按钮滚动

scrollTO(x,y) 跳转到固定坐标

scrollBy(x,y)相对当前位置移动x,y

  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. setContentView(R.layout.activity_main);
  5. //注册控件
  6. text = (TextView) findViewById(R.id.txt);
  7. scrollView = (ScrollView) findViewById(R.id.scrollview);
  8. up_btn = (Button) findViewById(R.id.up);
  9. down_btn = (Button)findViewById(R.id.down);
  10.  
  11. //按钮点击监控事件
  12. up_btn.setOnClickListener(this);
  13. down_btn.setOnClickListener(this);
  14.  
  15. //设置text文本内容
  16. text.setText(getResources().getString(R.string.context));
  17.  
  18. //设置ScrollView滚动条不可见
  19. scrollView.setVerticalScrollBarEnabled(false);
  20.  
  21. scrollView.setOnTouchListener(new View.OnTouchListener() {
  22. @Override
  23. public boolean onTouch(View v, MotionEvent event) {
  24. switch (event.getAction()){
  25. case MotionEvent.ACTION_UP:{
  26. break;
  27. }
  28.  
  29. case MotionEvent.ACTION_DOWN:{
  30. break;
  31. }
  32.  
  33. case MotionEvent.ACTION_MOVE:{
  34. //顶部状态
  35. if(scrollView.getScrollY() <= 0){
  36. Log.i( "main", "到达顶部");
  37. }
  38. //底部状态
  39. //TextView的总高度 <= 一屏幕的高度 + 滚动条的滚动距离
  40. if(scrollView.getChildAt(0).getMeasuredHeight() <= scrollView.getHeight() +
  41. scrollView.getScrollY()){
  42. Log.i("main","到达底部" + "总高度" + scrollView.getChildAt(0).getMeasuredHeight() + "一屏幕高度" + scrollView.getHeight() + "滚动条滚动距离" + scrollView.getScrollY());
  43. //添加内容
  44. text.append(getResources().getString(R.string.context));
  45. }
  46. break;
  47. }
  48. }
  49. return false;
  50. }
  51. });
  52.  
  53. }
  54.  
  55. @Override
  56. public void onClick(View v) {
  57. switch (v.getId()){
  58. case R.id.up:{
  59. scrollView.scrollBy(0,-30);
  60. break;
  61. }
  62.  
  63. case R.id.down:{
  64. scrollView.scrollBy(0,+30);
  65. break;
  66. }
  67. }
  68. }

  

ScrollView 滚动视图的更多相关文章

  1. [Unity]Unity开发NGUI代码实现ScrollView(滚动视图)

    Unity开发NGUI代码实现ScrollView(滚动视图) 下载NGUI包 导入NGUI3.9.1版本package 链接: http://pan.baidu.com/s/1mgksPBU 密码: ...

  2. 从零開始学android&lt;ScrollView滚动视图.十八.&gt;

    因为手机屏幕的高度有限.所以假设面对组件要显示多组信息的时候,ScrollView视图(滚动视图)能够有效的安排这些组件,浏览时能够自己主动的进行滚屏的操作. android.widget.Scrol ...

  3. Android中通过Java代码实现ScrollView滚动视图-以歌词滚动为例

    场景 实现效果如下 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改 ...

  4. Xamarin iOS教程之进度条和滚动视图

    Xamarin iOS教程之进度条和滚动视图 Xamarin iOS 进度条 进度条可以看到每一项任务现在的状态.例如在下载的应用程序中有进度条,用户可以很方便的看到当前程序下载了多少,还剩下多少.Q ...

  5. OCUI界面设计:滚动视图与分页控件初探

    滚动视图(UIScrollView) 简单介绍 1.UIScrollView滚动视图能够排列并显示超出自身显示范围的内容. 2.UIScrollView内部整合了多种手势来达到丰富的界面展示效果. 3 ...

  6. iOS学习笔记——滚动视图(scrollView)

    滚动视图:在根视图中添加UIScrollViewDelegate协议,声明一些对象属性 @interface BoViewController : UIViewController<UIScro ...

  7. Android 自学之滚动视图ScrollView

    滚动视图ScrollView由FarmeLayout派生而出,他就是一个用于为普通组件添加垂直滚动条的组件:ScrollView里面最多包含一个组件,而ScrollView的作用就是为该组件添加一个垂 ...

  8. 制作滚动视图(ScrollView)

    怎样判断是否应当使用滚动视图 所谓的滚动视图,是指一个可以滑动的视窗,视窗大小和位置固定不变,视窗内的内容用户可以通过手指滑动或者拖动滚动天来进行滚动浏览. 滚动视图的目的是为了解决同类内容过多,一个 ...

  9. 滚动视图(ScrollView)的功能与用法

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

随机推荐

  1. Windows安装多个版本JDK如何切换

    本人电脑同时安装了jdk1.7和1.8,以下时切换jdk版本的方式: 1.修改环境变量: 2.修改注册表: 打开HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft 分别修改Jav ...

  2. python3使用tkinter之Menu坑

    添加菜单之后,下拉菜单的第一行是一条虚线,点击会在窗口的左上角独立显示下拉菜单,如下图所示: 去掉的方法是:创建文件菜单的时候,添加 tearoff=0参数 tearoff 有 0 和 1 两个值,分 ...

  3. 2019 Unreal Open Day —— 英特尔携手 UE 助力游戏开发生态建设

    2019 年 5 月 8 日-5 月 9 日,一年一度的 Unreal Open Day 虚幻引擎技术开放日在上海举办,该活动由 Epic Games 中国倾力打造,是面向虚幻引擎开发者规格最高.规模 ...

  4. matlab之编写函数m文件计算排列组合Cnm

    function y=myfun(n) y=1; for i in 1:n; y=y*(m-i+1)/i; end 给y赋初值 给i遍历 计算每一项的乘积之和 注意:要保存函数的名字为myfun,因为 ...

  5. 前端CSS实现图片自适应背景大小

    <body> <div> <!--背景图片--> <div id="web_bg" style="background-imag ...

  6. JavaSE基础(三)--Java基础语法

    Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如 ...

  7. 01背包方案数(变种题)Stone game--The Preliminary Contest for ICPC Asia Shanghai 2019

    题意:https://nanti.jisuanke.com/t/41420 给你n个石子的重量,要求满足(Sum<=2*sum<=Sum+min)的方案数,min是你手里的最小值. 思路: ...

  8. 初遇PHP(一)

    因为想给自己弄一个微信公众号,顺便提升一下自己,所以有了以下内容,本次学习的最终目标是能用php制作套微信公众号,然后转成Java.为什么要这么麻烦呢,其一是买的资料书是php的,其二是顺水推舟刚好可 ...

  9. 牛客 132C 简单瞎搞题 (bitset)

    大意: 给定序列$a$的第$i$个元素的取值范围$[L_i,R_i]$, 求$a$的平方和的种类数. 用bitset优化, 复杂度$O(\frac{n^5}{\omega})$ #include &l ...

  10. 启动Tomcat

    这篇随笔的重点关注启动Tomcat时会用到的两个类,分别是Catalina类 和 Bootstrap类,它们都位于org.apache.catalina.startup包下,Catalina类用于启动 ...