滚动视图是指当拥有很多内容,屏幕显示不完全时,需要通过滚动来显示完整的视图

ScrollView的种类:

(1)水平滚动视图:HorizontalScrollView

(2)垂直滚动视图:ScrollView(我们默认的就是垂直滚动)

下面我们先来一个简单的例子(在文字多的屏幕无法显示的时候,把TextView控件嵌套在ScrollView里面实现滚动视图的效果):

<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="在文字多的屏幕无法显示的时候,把TextView控件嵌套在ScrollView里面实现滚动视图的效果"
/> </ScrollView>

隐藏ScrollView

(1) 标签属性:android:scrollbars=none

(2) 代码设置:

setHorizontalScrollBarEnabled(false);隐藏横向ScrollView

setVerticalScrollBarEnabled(false);隐藏纵向ScrollView

setOnTouchListener的使用

判断ScrollView何时滑动到底部

public class MainActivity extends Activity {
private TextView text;
private ScrollView scroll;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = (TextView) findViewById(R.id.text);

scroll = (ScrollView) findViewById(R.id.scroll);
scroll.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
switch (event.getAction()) {
case MotionEvent.ACTION_UP:

break;

case MotionEvent.ACTION_DOWN:

break;
case MotionEvent.ACTION_MOVE:
/*
* (1)getScrollY()==滚动条滑动的距离
* (2)getMeasuredHeight()
* (3)getHeight()
* */
//顶部状态
if (scroll.getScrollY() <= 0) {
Log.i(main, 已经到到了顶部);
}else if (scroll.getChildAt(0).getMeasuredHeight() <= scroll.getHeight() + scroll.getScrollY()) {
Log.i(main, 已经到了底部);

}
break;
}
return false;
}
});

}

}

那么我们还可以在文字滑动到底部的时候,继续加载文字,我们只需要加这样一条代码就可以了:

text.append(getResources().getString(R.string.content));

那么我们还可以设定滚动的位置:

我们需要在布局中添加两个按钮向上和向下,

然后在java代码中添加点击事件在点击事件中加入这样的两个方法:

scroll.scrollBy(0, -30);

scroll.scrollBy(0, 30);

后面的那个数值为正,则向下滚动,数值为负,则向上滚动

ScrollView控件实现屏幕滚动的更多相关文章

  1. 嵌套在ScrollView中的TextView控件可以自由滚动

    //设置TextView控件可以自由滚动,由于这个TextView嵌套在ScrollView中,所以在OnTouch事件中通知父控件ScrollView不要干扰. mContractDesc.setO ...

  2. android 开发 ScrollView 控件的一些api描述与自定义ScrollView接口回调方法

    1.正常使用ScrollView控件的一些api详解. package com.example.lenovo.mydemoapp.scrollViewDemo; import android.supp ...

  3. pywinauto如何获取gridwindow控件的屏幕位置

    一:问题描述 问题一:通过查找pywinauto在线文档,其中没有讲解到gridwindow控件的方法,我不知道这个控件是不是标准控件,还是pywinauto根本就没适配这个控件.从网上查询了好多资料 ...

  4. Qt列表等控件实现平滑滚动&deepin启动器存在的问题

    Qt列表等控件实现平滑滚动 Qt自带的的列表控件是不能平滑滚动的,但如果滚动速度快的话很容易引起视线丢失,体验效果很差.本篇主要讲述如何在Qt中对列表控件加入平滑滚动.文中以QScrollArea控件 ...

  5. React Native之ScrollView控件详解

    概述 ScrollView在Android和ios原生开发中都比较常见,是一个 滚动视图控件.在RN开发中,系统也给我们提供了这么一个控件.不过在RN开发中 ,使用ScrollView必须有一个确定的 ...

  6. 使用layout_weight设置控件占屏幕百分比

    水平LinearLayout中如果A,B两个控件都是layout_weight="1",那么控件在水平方向占比为A的layout_width+1/2空闲空间,B的layout_wi ...

  7. duilib List控件,横向滚动时列表项不移动或者移动错位的bug的修复

    转载请说明出处,谢谢~~ 这篇博客已经作废,只是留作记录,新的bug修复博客地址:http://blog.csdn.net/zhuhongshu/article/details/42264673 之前 ...

  8. Android得到控件在屏幕中的坐标

    getLocationOnScreen ,计算该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标 getLocationInWi ...

  9. C#超简单方法实现两个richtextbox控件滚动条同步滚动

    此文章属于作者原创,转载请注明,谢谢 有时候我们需要实现对照文章等,往往将文本放到两个richtextbox控件中,但是,如果我们需要同步滚动查看,来达到更好的观看效果. 当然,传统的方法重载控件或者 ...

随机推荐

  1. cookie 和session 的区别详解

    这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪 ...

  2. html页面输入框input的美化

    input输入框是网页必不可少的组件,可是每个浏览器对于输入框的显示样式各有不同 例如:    上图分别就是谷歌浏览器和IE浏览器自带显示的输入框,样式也不足人意,所以大多都会自己写样式 以下是一个简 ...

  3. XInitThreads与XLIB

    XInitThreads函数通常需要尽早调用,一般要在XLIB的其他函数前调用 否则XLIB的函数可能会在调用时直接崩溃(多线程程序中) 最好的做法是,在main入口即调用XInitThreads函数

  4. JavaScript模板引擎原理,几行代码的事儿

    一.前言 什么是模板引擎,说的简单点,就是一个字符串中有几个变量待定.比如: var tpl = 'Hei, my name is <%name%>, and I\'m <%age% ...

  5. Java重点识记

    1.final修饰的类不能被继承,已经达到类层次中的最低层. 2.abstract修饰的类或成员方法,表明是抽象的,含有抽象方法的类必须说明是抽象类,必须派生出子类. 3.JAVA对逻辑与和逻辑或提供 ...

  6. 微信小程序开发视频教程新鲜出炉

    微信小程序开发公测了,可是对于新手来说,不同的框架不同的开发机制,如何快速适应呢?微信小程序开发视频教程新鲜出炉了,从零开始一步一步搭建微信小程序,每个章节都会涉及到不同的知识点,等教程学习完你不但掌 ...

  7. log4net部分配置说明

    第一步: 添加并应用Log4net.dll.然后在Web.config文件中添加下面的配置局 <configSections>     <section name="log ...

  8. hadoop 2.6 centos 7.1 下的一些操作

    开启hdfs: start-dfs.sh 开启yarn: start-yarn.sh 查看hdfs:http://ip:50070/ 查看RM:http://ip:8088/

  9. C段渗透+cain嗅探

    其实吧这篇文件也是一个大概的了解和思路篇...没什么技术含量,但是你可以你可以从思路中来获得;其他的技术都是靠自己去摸索,我说了半天还是别人的,不如自己直接试试,这样效果比我直接告诉你的更加的深刻.. ...

  10. Socket通信(一)

    代码及PDF下载链接:http://download.csdn.net/detail/u010312811/9683034 例程1:实现服务器与客户端的连接与简单数据收发 参考链接:http://bl ...