我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android 的 ScrollView (滚动条)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android 的 ScrollView (滚动条)

本节引言:

本节带来的是Android基本UI控件中的第十个:ScrollView(滚动条),或者我们应该叫他 竖直滚动条,对应的另外一个水平方向上的滚动条:HorizontalScrollView,先来一发官方文档 的链接:ScrollView,我们可以看到类的结构如下:

嘿嘿,原来是一个FrameLayout的容器,不过在他的基础上添加了滚动,允许显示的比实际多的内容!

另外,只能够往里面放置一个子元素,可以是单一的组件,又或者一个布局包裹着的复杂的层次结构!

一般对于可能显示不完的情况,我们可以直接在布局的外层套上一个: ScrollView或者HorizontalScrollView!就这么简单~!


可能遇到的一些需求

好的,就不一个个扣文档了,直接说实际开发中可能会遇到的一些需求吧:

另外有一个很典型的问题就是:ScrollView和ListView的嵌套问题,这个放到ListView那一章节 再来讲解~


1.滚动到底部:

我们可以直接利用ScrollView给我们提供的:fullScroll()方法

scrollView.fullScroll(ScrollView.FOCUS_DOWN);滚动到底部

scrollView.fullScroll(ScrollView.FOCUS_UP);滚动到顶部

另外用这玩意的时候要小心异步的玩意,就是addView后,有可能还没有显示完, 如果这个时候直接调用该方法的话,可能会无效,这就需要自己写handler来更新了~

代码示例:

效果图:

实现代码:

布局比较简单,就不贴了,直接贴MainActivity MainActivity.java

public class MainActivity extends AppCompatActivity implements View.OnClickListener {    private Button btn_down;    private Button btn_up;    private ScrollView scrollView;    private TextView txt_show;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        bindViews();    }    private void bindViews() {        btn_down = (Button) findViewById(R.id.btn_down);        btn_up = (Button) findViewById(R.id.btn_up);        scrollView = (ScrollView) findViewById(R.id.scrollView);        txt_show = (TextView) findViewById(R.id.txt_show);        btn_down.setOnClickListener(this);        btn_up.setOnClickListener(this);        StringBuilder sb = new StringBuilder();        for (int i = 1; i <= 100; i++) {            sb.append("呵呵 * " + i + "\n");        }        txt_show.setText(sb.toString());    }    @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.btn_down:                scrollView.fullScroll(ScrollView.FOCUS_DOWN);                break;            case R.id.btn_up:                scrollView.fullScroll(ScrollView.FOCUS_UP);                break;        }    }}

当然除了这种方法还,你还可以使用另一种复杂一点的写法:

public static void scrollToBottom(final View scroll, final View inner) {    Handler mHandler = new Handler();    mHandler.post(new Runnable() {        public void run() {            if (scroll == null || inner == null) {                return;            }            int offset = inner.getMeasuredHeight() - scroll.getHeight();            if (offset < 0) {                offset = 0;            }            scroll.scrollTo(0, offset);        }    });}  

scrollTo()参数依次为x,y滚到对应的x,y位置!


2.设置滚动的滑块图片

这个更加简单: 垂直方向滑块:android:scrollbarThumbVertical
水平方向滑块:android:scrollbarThumbHorizontal


3.隐藏滑块

好吧,这个好像没什么卵用:

方法有两种: 1.android:scrollbars="none"
2.Java代码设置:scrollview.setVerticalScrollBarEnabled(false);


4.设置滚动速度:

这个并没有给我们提供可以直接设置的方法,我们需要自己继承ScrollView,然后重写一个 public void fling (int velocityY)的方法:

@Overridepublic void fling(int velocityY) {    super.fling(velocityY / 2);    //速度变为原来的一半}

来源地址:https://blog.csdn.net/leyang0910/article/details/130993981

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android 的 ScrollView (滚动条)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

android开发教程之文本框加滚动条scrollview

我们都知道EditText与TextView是Android的文本输入框和文本显示框,但是基于手机屏幕的大小因素,如果在需要输入较多文字或者显示较多内容的时候,手机屏幕是远远不够的,因此让文本框具有滚动条的功能是手机上必备的,下面介绍下如何
2022-06-06

android输入框与文本框加滚动条scrollview示例

我们都知道EditText与TextView是Android的文本输入框和文本显示框,但是基于手机屏幕的大小因素,如果在需要输入较多文字或者显示较多内容的时候,手机屏幕是远远不够的,因此让文本框具有滚动条的功能是手机上必备的,要加上滚动条,
2022-06-06

Android ScrollView取消惯性滚动的方法

ScrollView中惯性滚动的效果,想让这个ScrollView慢一点滑动或者接近drag(拖拽)操作,就提出了添加阻尼的说法。只要重新fling方法即可,将velocity值极至缩小。 实例如下:public class CustomH
2022-06-06

Android 控制ScrollView滚动的实例详解

Android 控制ScrollView滚动的实例详解在开发中,我们经常需要更新列表,并将列表拉倒最底部,比如发表微博,聊天界面等等,这里有两种办法,第一种,使用scrollTo():public static void scrollToB
2023-05-30

android 实现ScrollView自动滚动的实例代码

有时候需要动态添加数据,屏幕显示满了,数据需要滚动展示。这里主要弄懂scrollTo(0, off)方法的含义喊用法。 含义不说了,大概意思就这样。 下面来看他的用法:代码如下:private void searchResultShow()
2022-06-06

iOS自定义可展示、交互的scrollView滚动条

上一篇简述了封装上拉、下拉刷新控件,本篇在此基础上添加了一个自定义的scrollView滚动条,可展示、交互,首先看一下效果图:简单阐述一下实现逻辑:自定义滚动条视图继承UIView,添加滚动条滑动事件、其他区域点击事件,通过代理方法与列表
2022-05-19

Android垂直滚动控件ScrollView使用方法详解

一、简介二、方法1)ScrollView垂直滚动控件使用方法1、在layout布局文件的最外层建立一个ScrollView控件2、在ScrollView控件中加入一个LinearLayout控件,并且把它的orientation设置为ver
2023-05-30

Android应用中的惯性滚动怎么利用 ScrollView取消

这期内容当中小编将会给大家带来有关Android应用中的惯性滚动怎么利用 ScrollView取消,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。ScrollView中惯性滚动的效果,想让这个ScrollV
2023-05-31

Android实现两个ScrollView互相联动的同步滚动效果代码

本文实例讲述了Android实现两个ScrollView互相联动的同步滚动效果代码。分享给大家供大家参考,具体如下: 最近在做一个项目,用到了两个ScrollView互相联动的效果,简单来说联动效果意思就是滑动其中的一个ScrollView
2022-06-06

Xamarin.Forms的滚动视图ScrollView有什么用

这篇文章主要为大家展示了“Xamarin.Forms的滚动视图ScrollView有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Xamarin.Forms的滚动视图ScrollView有
2023-06-04

Android新闻广告条滚动效果

项目中需要用到类似公告栏的控件,能用的基本不支持多行显示,于是只好自己动手,苦于没有自定义过一个像样的控件,借鉴Android公告条demo,实现了多行向上滚动的控件。在原控件基础之上添加如下功能: 传入数据分页显示 添加Left Dr
2022-06-06

Android仿淘宝头条向上滚动广告条ViewFlipper

所谓前人栽树,后人乘凉,在此感谢博主的贡献。 参考博文: 仿淘宝首页的淘宝头条View垂直滚动我在博主的基础上做了如下工作: 修复了滚动条第二条点击事件无法触发这个bug; 充分简化了自定义ViewFlipper类的代码; 添加了直接
2023-05-31

react怎么隐藏滚动条滚动

react隐藏滚动条滚动的方法:1、打开相应的“react-native”文件;2、通过horizontal设置水平滚动;3、通过设置“showsHorizontalScrollIndicator”的值为“false”来隐藏水平滚动条即可。
2023-05-14

react如何隐藏滚动条滚动

本篇内容主要讲解“react如何隐藏滚动条滚动”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“react如何隐藏滚动条滚动”吧!react隐藏滚动条滚动的方法:1、打开相应的“react-nati
2023-07-04

Android开发:TextView加入滚动条示例

利用scrollview来实现,效果会好很多 代码如下:
2022-06-06

Android ListView隐藏右侧滚动条功能

关于ListView的滚动条几种情形: 1、默认情况:活动(滚动)时显示,不活动时隐藏。 2、活动和不活动时都显示。 3、活动和不活动时都隐藏。 上述集中情况,均有ListView的以下设置属性方法控制 1、setVerticalScrol
2022-06-06

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录