Android实用笔记——使用ScrollView实现滚动效果
2016-08-02 00:00
531 查看
1、功能
滚动视图是指当用有很多内容,屏幕显示不完时,需要通过滚动来显示完整的视图。
2、种类
ScrollView 垂直滚动视图
HorizontalScrollView 水平滚动视图
3、隐藏ScrollView
4、ScrollView的监听器
SetOnTouchListener的使用,可用于判断ScrollView何时滑动到底部
5、应用
设置activity_main.xml
设置strings.xml
编辑MainActivity.java
结果
6、补充:
ScrollTo和ScrollBy的区别
ScrollTo 以滚动视图的起始位置开始计算
ScrollBy 相对前一次的位置,去滚动对应的距离
可用于实现按钮点击滚动事件
滚动视图是指当用有很多内容,屏幕显示不完时,需要通过滚动来显示完整的视图。
2、种类
ScrollView 垂直滚动视图
HorizontalScrollView 水平滚动视图
3、隐藏ScrollView
4、ScrollView的监听器
SetOnTouchListener的使用,可用于判断ScrollView何时滑动到底部
5、应用
设置activity_main.xml
<!--android:scrollbars设置滚动条的属性 例如不显示 --> <ScrollView android:id="@+id/scroll" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="none" > <TextView android:id="@+id/contents" android:layout_width="match_parent" android:layout_height="match_parent"/> </ScrollView>
设置strings.xml
<string name="content">故今日之责任,\n不在他人,\n而全在我少年。 \n少年智则国智,\n少年富则国富;\n少年强则国强, \n少年独立则国独立;\n少年自由则国自由;\n少年进步则国进步; \n少年胜于欧洲,\n则国胜于欧洲;\n少年雄于地球,\n则国雄于地球。 \n红日初升,\n其道大光。\n河出伏流,\n一泻汪洋。 \n潜龙腾渊,\n鳞爪飞扬。\n乳虎啸谷,\n百兽震惶。 \n鹰隼试翼,\n风尘翕张。\n奇花初胎,\n矞矞皇皇。 \n干将发硎,\n有作其芒。\n天戴其苍,\n地履其黄。 \n纵有千古,\n横有八荒。\n前途似海,\n来日方长。 \n美哉我少年中国,\n与天不老!\n壮哉我中国少年,\n与国无疆!</string>
编辑MainActivity.java
package com.example.myandroidscrollview; import android.os.Bundle; import android.app.Activity; import android.util.Log; import android.view.Menu; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.ScrollView; import android.widget.TextView; public class MainActivity extends Activity { //第一步、设置滚动条显示长文本 //1.1、声明长文本 private TextView tv; //第二步、设置监听器,监听是否滚动到底部 //2.1、声明ScrollView private ScrollView scroll; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //1.2、编辑activity_main.xml文件,绑定 //这里如果将TextView的id设置为content会出现类型不匹配的错误。 //原因是和strings.xml里面的长文本的id相同,系统则会不清楚你要找的到底是哪一个 tv=(TextView) findViewById(R.id.contents); //1.3、在strings.xml文件中设置长文本,绑定 tv.setText(getResources().getString(R.string.content)); //2.2、初始化绑定 scroll=(ScrollView) findViewById(R.id.scroll); //2.3、设置监听器 scroll.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub switch (event.getAction()) { case MotionEvent.ACTION_MOVE:{ /** * a、getScrollY() 滚动条滑动距离,从0开始计算 * b、getMeasureHeigh 3ff0 t() 包括隐藏部分的高度 * c、getHeight() 不包括隐藏部分的高度 */ //顶部状态 if(scroll.getScrollY()<=0){ Log.i("Main","滑动到顶部"); } //底部状态 //TextView的总高度<=屏幕的高度+滚动条滚动的距离 if(scroll.getChildAt(0).getMeasuredHeight() <=scroll.getHeight()+scroll.getScaleY()){ Log.i("Main","滑动到底部"); //滑动到底部的时候追加一段新文本 tv.append(getResources().getString(R.string.content)); } break; } } return false; } }); } }
结果
6、补充:
ScrollTo和ScrollBy的区别
ScrollTo 以滚动视图的起始位置开始计算
ScrollBy 相对前一次的位置,去滚动对应的距离
可用于实现按钮点击滚动事件
相关文章推荐
- Android入门(35)——第十二章 使用ScrollView实现滚动效果
- Android - 小功能 - 对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
- Android 对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
- Android ScrollView滚动实现大众点评、网易云音乐评论悬停效果
- Android实现两个ScrollView互相联动,同步滚动的效果
- Android 对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
- Android对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
- Android 高级UI设计笔记03:使用Scroller实现绚丽的ListView左右滑动删除Item效果(转载)
- 使用ScrollView实现滚动效果
- Android 高级UI设计笔记05:使用TextView实现跑马灯的效果
- Android 对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
- Android对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
- Android实现两个ScrollView互相联动,同步滚动的效果
- Android 对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
- Android控件笔记——使用RadioGroup和RadioButton实现单选效果
- Android 对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
- Android对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
- Android对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
- android标题栏颜色渐变效果的实现(标题栏随着scrollview的滚动而变化)
- Android实现两个ScrollView互相联动的同步滚动效果代码