ScrollView的使用
来源:互联网 发布:曲阜问政网络平台 编辑:程序博客网 时间:2024/05/22 17:47
scrollTo()相对于左上角进行滚动,scrollBy()相对于上次滑动的位置进行滑动。
ScrollView滑动到指定的位置,让焦点显示。
——————————————————————>
getMeasuredHeight() 获取高度
getMeasuredHeight()是实际View的大小,与屏幕无关,而getHeight的大小此时则是屏幕的大小。
当超出屏幕后, getMeasuredHeight() 等于 getHeight()加上屏幕之外没有显示的大小。
——————————————————————>
<HorizontalScrollView>, <ScrollView>只能有一个子控件;
获取资源文件对象,通过传递id,获取对应的资源;隐藏ScrollView的滚动条,xml中配置,代码中设置;
判断ScrollView什么时候滑动到底部?
TextView中的append方法,追加刷新
控制滚动条滚动的位置: ScrollTo与ScrollBy的区别 参考的坐标系不一样
package com.lantu.tuhuadmin.testapplication;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.MotionEvent;import android.view.View;import android.widget.Button;import android.widget.ScrollView;import android.widget.TextView;public class MainActivity extends AppCompatActivity implements View.OnClickListener { private static final String TAG = "MainActivity"; private ScrollView scroll_view; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn_down = (Button) findViewById(R.id.btn_down); Button btn_up = (Button) findViewById(R.id.btn_up); btn_down.setOnClickListener(MainActivity.this); btn_up.setOnClickListener(MainActivity.this); //不滚动显示不完整,通过Resources对象,获取资源 final TextView tv = (TextView) findViewById(R.id.tv); tv.setText(getResources().getText(R.string.tv_content)); //在布局文件中,通过让tv成为ScrollView的子控件实现滚动 //通过代码实现隐藏滚动条 scroll_view = (ScrollView) findViewById(R.id.scroll_view); scroll_view.setVerticalScrollBarEnabled(false); //scroll_view.setHorizontalScrollBarEnabled(false); //如何控制ScrollView视图的位置? //监听ScrollView什么时候能够滑动到底部? 通过设置触摸监听实现 scroll_view.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_MOVE: { /** * getScrollBy() 滚动条滑动的距离 * getHeight() 获取控件显示的高度 * getMeasuredHeight() 获取控件总的高度,包括隐藏起来的。 */ if (scroll_view.getScaleY() < 0 || scroll_view.getScaleY() == 0) { //说明ScrollView没有滑动 Log.i(TAG, "顶部"); } //滑动条滑动到最底部的位置时 TextView的总高度=getScaleY()+getHeight() //获取TextView的总高度:scroll_view.getChildAt(0).getMeasuredHeight() //一屏幕的高度:scroll_view.getHeight() if (scroll_view.getChildAt(0).getMeasuredHeight() < scroll_view.getScaleY() + scroll_view.getHeight() || scroll_view.getChildAt(0).getMeasuredHeight() == scroll_view.getScaleY() + scroll_view.getHeight()) { Log.i(TAG, "滑动到底部"); //实现刷新效果 追加要显示的内容 tv.append(getResources().getText(R.string.tv_content)); } } break; case MotionEvent.ACTION_DOWN: { } break; case MotionEvent.ACTION_UP: { } break; } return false; } }); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.btn_down: { //向下滑动 // scroll_view.scrollTo(0, 30); scroll_view.scrollBy(0, 30); } break; case R.id.btn_up: { //向上滑动 // scroll_view.scrollTo(0, -30); scroll_view.scrollBy(0, -30); } break; } }}
0 0
- Android ScrollView的使用
- scrollView的使用
- cocostudio Scrollview的使用
- Android ScrollView的使用
- scrollview的使用
- UI-ScrollView的使用
- ScrollView的使用
- Masonry+ScrollView的使用
- ScrollView的使用
- scrollView的使用
- scrollview 的使用
- Android ScrollView的使用
- scrollView 的使用
- Android的ScrollView使用
- ScrollView的使用
- ScrollView的使用详细
- Android ScrollView的使用
- 组件ScrollView的使用
- display和visibility的区别
- android异步处理,分析Handle消息机制
- android 笔记11 得到布局,状态栏显示隐藏,代码优化
- FastJSON、Gson和Jackson性能对比
- Leetcode 24. Swap Nodes in Pairs (Easy) (cpp)
- ScrollView的使用
- 【最小圆覆盖】【未完待续。。】
- 高性能java实现不同服务器直接的数据库迁移。
- cocos2dx-lua_热更新_官方示例_AssetsManagerExTest
- J.U.C
- iOS 类似扣扣微信中腾讯新闻的新闻列表实现
- ImageLoader的简单分析
- Laravel 重写用户登录
- cocos2dx-3.10-lua_函数