ScrollView下拉视图放大

在网上找了好多下拉Scrollview图片放大的效果,结果看了一下都不太靠谱,后来自己想了一个办法解决了这个问题。跟大家分享一下。

其实就是对Scrollview下拉的监听将视图放大。不管是View还是ImageView放大就ok了。主要代码如下:

	/** 手指放下的监听*/
	float initTouchY=0;
		mScrollView.setOnTouchListener(new OnTouchListener() {
			public boolean onTouch(View v, MotionEvent event) {
				switch (event.getAction()) {
				//放下监听
				 case MotionEvent.ACTION_DOWN:
		            	 initTouchY=event.getY();
		                break;
		              //手指抬起监听
				case MotionEvent.ACTION_UP:
					mSlidingPlayView.setLayoutParams(new RelativeLayout.LayoutParams(diaplayWidth,AbViewUtil.dip2px(DetailA.this, imagHeight)));

					break;
				//移动监听
				case MotionEvent.ACTION_MOVE:
					int upY=v.getScrollY();
					float touchY=event.getY();
			<span style="white-space:pre">	</span>//对图片放大的处理
	                          if(upY==0){  //scrollview在顶部
	                	        float deltaY = touchY - initTouchY;// 滑动距离
	                	   if(deltaY<80){
	                		//重新设置控件的大小addWidth=diaplayWidth+deltaY <span style="font-family: Arial, Helvetica, sans-serif;">addHeight同理  </span><pre name="code" class="java"><span style="white-space:pre">					</span>//mSlidingPlayView我这里是幻灯播放的控件,一般可以 设置成ImageView

mSlidingPlayView.setLayoutParams(new RelativeLayout.LayoutParams(addWidth,addHeight)); } } }break;default:break;}return false;}});


最后一定要记得给ImageView添加一个属性,才能实现下拉图片放大的效果

android:scaleType="centerCrop"

ScrollView下拉视图放大

时间: 2024-10-08 13:23:36

ScrollView下拉视图放大的相关文章

第六十七篇、OC_UITableView head下拉图片放大的效果

(一) 布置UITableview 我们首先要通过设置UITableview的内容偏移 self.tableView.contentInset 来为图片视图留出位置,这里我们的图片高度暂定为280 const CGFloat contentInset = 280; @interface ViewController ()<UITableViewDelegate,UITableViewDataSource> @property (nonatomic, strong) UITableView *t

TableView下拉表头放大 导航栏颜色透明度随着TableView偏移量渐变

TableView 下拉表头放大 导航栏颜色透明度随着TableView偏移量渐变 用storeboard 布局,之前尝试在storeboard中设置tableview的表头,但是那样弄出来的效果 表头不贴着上面,后来改成storeboard和代码 结合,最后实现的这个效果 下载链接: https://github.com/ShaoWenLe/TableViewThe-drop-down-amplification.git import UIKit let KScreen_Width = UIS

iOS tableView下拉图片放大

事实上这个效果,本质上就是在你tableView下拉 造成offset时候. 保持你顶部图片的y坐标点还停留在下拉时屏幕的顶点(offset), 而图片的长度变为原始的height长度-(offset ) 就达到了下拉放大的效果. 直接上代码了: 1. 首先创建一个UIView作为headerView _topView = [[UIViewalloc]initWithFrame:CGRectMake(0,0,MCAPPWidth,80)]; _tableView.tableHeaderView

tableView下拉图片放大

其实这个效果,本质上就是在你tableView下拉 造成offset时候, 保持你顶部图片的y坐标点还停留在下拉时屏幕的顶点(offset), 而图片的长度变为原始的height长度-(offset ) 就达到了下拉放大的效果. 直接上代码了: 1. 首先创建一个UIView作为headerView _topView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, MCAPPWidth, 80)]; _tableView.tableHeaderVi

iOS下拉图片放大

效果图 开始简单的代码过程 其实思路很简单 就是 让tableView偏移 一图片的高度,然后在把图片添加到tableView中,然后再监听didScrollView,在里面改变图片的frame - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.automaticallyAdjustsScrollViewI

Android自定义之ScrollView下拉刷新

公司项目,需要用到ScrollView的下拉刷新,一开始使用的时候PullToRefresh三方库的下拉刷新,我比较纠结第三档库,很强大,但是,公司项目的需求,PullToRefresh就不能做到了,改来改去的还是自己写一个下拉刷新比较靠谱,很多东西能够自己去控制.效果图就不上传了.直接解释关键代码. ScrollView的下拉刷新比ListView的好做多了. 因为ScroTo的性质,ScrollView的下拉刷新,需要在外部添加一个父布局,通过父布局来控制触摸手势时候下传,什么时候下拉. 我

快速实现 ListView下拉,图片放大刷新操作

今天要写的这个效果属于刷新类,比较实用,像很多流行的 app 都是用了这种效果,大家熟知的QQ空间.微博个人主页等,这个效果在 github 上也有别人实现好的源码,点击查看.这里也参考了上面的源码;还是那句话,看 blog主要是学习其中的原理和思路. 动态效果图 图片放大的原理是什么呢?   通过改变图片显示控件 ImageView 的父控件的高度,比如这里的头部 View 是一个 FrameLayout,FrameLayout 中再 通过 add 方法把图片 View 添加进去,addVie

iOS----实现scrollView或者scrollView的子类下拉图片放大的效果

代码是通过Tableview来说明的,用在其他情况下同样适用 - (void)viewDidLoad { [super viewDidLoad]; _imageview = [[UIImageView alloc]init]; _imageview.image = [UIImage imageNamed:@"F2.jpg"]; self.imageview.frame =CGRectMake(0, -150, self.tableView.frame.size.width, 150);

iOS UI开发--下拉放大

1. 要实现的效果,左图为下拉前,右图为下拉后   2.首先最容易想到的是往tableHeaderView上,放一张图片. 但是tableHeaderView的宽度是固定的,这就意味着不容易做缩放效果; 顶部的上边界始终和tableView的上边界挨着,这就意味着下拉前只显示部分图片的效果,不容易实现. 3.最终方案:给tableView添加一张图片作为子视图, 并且图片应该在cell的下面,一开始图片只显示一部分 4. 示例代码 4.1 在ViewDidload方法中: UIImage *a