Android重要控件概览(下)

最后更新于:2022-04-01 14:27:16

### 1、ViewFlipper——多页面管理控件,实现子界面的自动切换 (1)为ViewFlipper加入View:A.静态导入(在Layout布局文件中直接添加View控件); B.动态导入(addView()) (2)设置进入动画:setInAnimation(); 设置退出动画:setOutAnimation(); 设置视图切换自动播放时间间隔:setFlipInterval(); 开始播放:startFlipping(); (3)设置支持手势活动: ~~~ @Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub switch (event.getAction()) { //手指落下 case MotionEvent.ACTION_DOWN: { startX=event.getX(); break; } //手指滑动 case MotionEvent.ACTION_UP: { //向右滑动 if(event.getX()-startX>50) { flipper.setInAnimation(this, R.anim.left_in); flipper.setOutAnimation(this, R.anim.left_out); flipper.showNext(); } //向左滑动 if(startX-event.getX()>50) { flipper.setInAnimation(this, R.anim.right_in); flipper.setOutAnimation(this, R.anim.right_out); flipper.showPrevious(); } break; } } //手指离开 case MotionEvent.ACTION_UP: { break; } return super.onTouchEvent(event); } ~~~ ### 2、ScrollView——内容很多,屏幕显示不完,通过滚动来显示完整的视图 (1)ScrollView种类:A. HorizontalScrollView:水平滚动视图;B.ScrollView:垂直滚动视图; (2)属性:设置不显示滚动条:Android:scrollbars="none"; (3)代码设置隐藏滚动条:setHorizontalScrollBarEnabled(false);setVerticalScrollBarEnabled(false); (4)监听器:setOnTouchListenter() ~~~ scroll.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub switch (event.getAction()) { case MotionEvent.ACTION_MOVE: { /** * (1)getScrollY()————滚动条滑动的距离 * (2)getMeasuredHeight() * (3)getHeight() */ // 顶部状态 if (scroll.getScrollY() <= 0) { Log.i("Main", "滑动到顶部"); } // 底部状态 // TextView的总高度<=一屏幕的高度+滚动条的滚动距离 if (scroll.getChildAt(0).getMeasuredHeight() <= scroll.getHeight() + scroll.getScrollY()) { Log.i("Main", "滑动到底部"); Log.i("Main", "scroll.getChildAt(0).getMeasuredHeight()=" + scroll.getChildAt(0) .getMeasuredHeight() + "scroll,getHeight()=" + scroll.getHeight() + "scroll.getScrollY()=" + scroll.getScrollY()); tv.append(getResources().getString(R.string.content)); // 刷新、追加 } break; } } return false; } }); } ~~~ (5)scrollTo和scrollBy scrollTo:以滚动视图起始位置开始计算; scrollBy:相对前一次的位置,去滚动相应距离 ### 3、Gallery——缩略图浏览器 [http://blog.csdn.net/songshimvp1/article/details/50233727](http://blog.csdn.net/songshimvp1/article/details/50233727)——实际案例 ### 4、SeekBar——拖动条 (1)方法:setMax:设置最大数值; (2)事件监听:OnSeekBarChangeListenter监听三个事件: A. onProgressChanged();      //数值改变 B. onStartTrackingTouch();    //开始拖动 C. onStopTrackingTouch();    //停止拖动 (3)自定义SeekBar 看不到源码时,可以在G:\AndroidWork\adt-bundle-windows-x86-20130917\sdk\platforms\android-18\data\res\drawable中查找!     
';