我们中的许多人必须遇到过TinderDripper 等应用程序,您可以在其中拉下包含图像的 View ,然后将图像放大。然后放开时,图像将缩小以返回其原始状态。

让我们以Tinder为例:

原始状态:拉动后的放大状态:



iOS 中,此操作由

- (void)viewDidLoad {
    [super viewDidLoad];

    self.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"church-welcome.png"]];
    self.imageView.contentMode = UIViewContentModeScaleAspectFill;
    self.cachedImageViewSize = self.imageView.frame;
    [self.tableView addSubview:self.imageView];
    [self.tableView sendSubviewToBack:self.imageView];
    self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 170)];

}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {

    CGFloat y = -scrollView.contentOffset.y;
    if (y > 0) {
        self.imageView.frame = CGRectMake(0, scrollView.contentOffset.y, self.cachedImageViewSize.size.width+y, self.cachedImageViewSize.size.height+y);
        self.imageView.center = CGPointMake(self.view.center.x, self.imageView.center.y);
    }

}

由于我在Objective C和iOS方面的专业知识非常有限,因此我无法在Android中实现它。

我认为这是应该做的:
  • 捕捉下拉手势
  • 通过拉动量
  • 增加 View 的高度
  • 对图像执行某种比例缩放动画以使其适合扩展 View 中的

  • 有谁知道是否有任何可用于此目的的库?

    最佳答案

    checkout 这个项目:

    https://github.com/Gnod/ParallaxListView

    如果将其与ViewPagerIndicator库结合使用,则几乎可以得到Tinder的个人资料页面功能集

    https://github.com/JakeWharton/Android-ViewPagerIndicator

    关于android - 拉动缩放动画,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23307669/

    10-08 23:53