android学习ScrollView的使用
ScrollView 的使用相对来讲比较简单,通过包含更多的布局文件,使得上下滑动可以浏览到更多内容。
关于ScrollView有几个点需要注意的地方
1,ScrollView的滚动方式
ScrollView有两种滚动方式,横向的和纵向的,一般横向的用的比较少。ScrollView控件默认就是纵向滚动的,如果需要横向滚动只需要更改标签
HorizontalScrollView,即可满足要求
2,ScrollView默认是在滚动的过程中显示滚动条的,所以如果想隐藏滚动条有两种方式:
1,通过标签设置:android:scrollbars=“none”
2, 通过代码设置:setHorizontalScrollBarEenable(false);setVertivalScrollBarEnable(false);
3,ScrollView的常用方法:
1,getScrollY()-----返回的是滚动条滑动的距离
2,getMeasureHeight()------返回的是scrollView的总高度,也就是 滚动的距离+屏幕的宽度
3,getHeight()-------返回的是显示出来的scroll的高度
4,ScrollTo 和ScrollBy的区别
1,ScrollTo :从scroll的开始位置作为参考,进行滚动的距离
2,ScrollBy:从scroll的当前位置作为参考,进行滚动的距离
- public class MainActivity extends Activity implements View.OnClickListener{
- private TextView textView;
- private ScrollView scrollView;
- private Button up;
- private Button down;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- textView = (TextView)findViewById(R.id.textView);
- scrollView = (ScrollView)findViewById(R.id.scroll);
- textView.setText(R.string.text);
- up = (Button)findViewById(R.id.button);
- down = (Button)findViewById(R.id.button2);
- scrollView.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- switch(event.getAction()){
- case MotionEvent.ACTION_MOVE:{
- if(scrollView.getScaleY()<=0){
- android.util.Log.i("main","top");
- }
- if(scrollView.getMeasuredHeight() == scrollView.getHeight()+scrollView.getScaleY()){
- android.util.Log.i("main","bottom");
- }
- break;
- }
- }
- return false;
- }
- });
- }
- @Override
- public void onClick(View v) {
- switch(v.getId()){
- case R.id.button:{
- scrollView.scrollBy(0, -30);
- break;
- }
- case R.id.button2:{
- scrollView.scrollBy(0,30);
- break;
- }
- }
- }
- }
ScrollView布局文件如下:
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="horizontal">
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="top"
- android:id="@+id/button" />
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="down"
- android:id="@+id/button2" />
- </LinearLayout>
- <ScrollView
- android:id="@+id/scroll"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:scrollbars="none">
- <TextView
- android:id="@+id/textView"
- android:text="@string/hello_world" android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
- </ScrollView>
- </LinearLayout>
android学习ScrollView的使用的更多相关文章
- android基本控件学习-----ScrollView
ScrollView(滚动条)的讲解: 一.对于ScrollView滚动条还是很好理解的,共有两种水平和垂直,ScrollView和HorizontalScrollview,这个里面不知道该总结写什么 ...
- Android学习路线总结,绝对干货
title: Android学习路线总结,绝对干货 tags: Android学习路线,Android学习资料,怎么学习android grammar_cjkRuby: true --- 一.前言 不 ...
- 《Android学习指南》目录
源:<Android学习指南>目录 Android学习指南的内容分类: 分类 描述 0.学习Android必备的Java基础知识 没有Java基础的朋友,请不要先看Android的课程,这 ...
- (转)Android学习路线总结,绝对干货
一.前言 不知不觉自己已经做了几年开发了,由记得刚出来工作的时候感觉自己能牛逼,现在回想起来感觉好无知.懂的越多的时候你才会发现懂的越少. 如果你的知识是一个圆,当你的圆越大时,圆外面的世界也就越大. ...
- Android学习路线总结,绝对干货(转)
转自:https://www.cnblogs.com/yishaochu/p/5436094.html 一.前言 不知不觉自己已经做了几年开发了,由记得刚出来工作的时候感觉自己能牛逼,现在回想起来感觉 ...
- 《Android学习指南》文件夹
转自:http://android.yaohuiji.com/about Android学习指南的内容分类: 分类 描写叙述 0.学习Android必备的Java基础知识 没有Java基础的朋友,请不 ...
- Android学习路线总结,绝对干货(转)
title: Android学习路线总结,绝对干货tags: Android学习路线,Android学习资料,怎么学习androidgrammar_cjkRuby: true--- 一.前言 不知不觉 ...
- Pro Android学习笔记 ActionBar(1):Home图标区
Pro Android学习笔记(四八):ActionBar(1):Home图标区 2013年03月10日 ⁄ 综合 ⁄ 共 3256字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ActionBar在A ...
- 【转】 Pro Android学习笔记(四八):ActionBar(1):Home图标区
目录(?)[-] Home Icon 源代码 TextView的滚动 返回主activity或指定activity ActionBar在Android 3.0 SDK中为平板引入,在4.0中也 ...
随机推荐
- accp8.0转换教材第10章Ajax和jQuery理解与练习
C/S (Client/Server)结构,即大家熟知的客户机和服务器结构. B/S(Browser/Server)结构即浏览器和服务器结构. 认识ajax .XMLHttpRequest.使用jqu ...
- 使用Homebrew安装MySQL
安装命令: brew install mysql 安装完成之后,启动mysql: mysql.server start 发现无此命令: command not found 首先,检查是否是安装了.重新 ...
- Hibernate错误:Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
报错:Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execu ...
- PAT-1099(Build A Binary Search Tree)
题目见这里 分析:分四步进行 1)根据给定的结点情况建二叉树 2)对输入的键值排序(asending) 3)对二叉树中序遍历,同时对应赋key值 4)层次遍历(队列应用) 题目并不困难,但是我误入了 ...
- NEWS-包名-baseTest-类名-BaseDao
package baseTest; import java.sql.Connection;import java.sql.DriverManager;//通过配置文件读取BASEDAOimport j ...
- java String/StringBuilder 方法
String 定义的对象不能被修改,修改其实是创建了一个新的对象. 如 : String s1 = "1"; s1 = s1+ "2"; 本来s1 是指向”1“ ...
- .net控件Radiobuttonlist的简单应用
1.radiobuttonlist 通过RepeatDirection属性控制改控件的显示方向是纵向还是横向. 2.radiobuttonlist有一个重要的时间叫OnSelectedIndexCha ...
- Vulkan Tutorial 29 Loading models
操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 Introduction 应用程序现在已经可以渲染纹理3D模型,但是 vertice ...
- java用户界面—创建一个面板
先从基础学起 创建一个面板 代码如下: package Day08; import java.awt.FlowLayout; import javax.swing.JButton;import jav ...
- Python中的元类(metaclass)
推荐+收藏:深刻理解Python中的元类(metaclass) 做一些笔记学习学习: 在大多数编程语言中,类就是用来描述如何生成一个对象的代码段,在Python中类也是一个对象,这个(类)对象自身拥有 ...