求解 android 图片点击一下就放大到全屏,再点一下就回到原界面,这个android源码谁有呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求解 android 图片点击一下就放大到全屏,再点一下就回到原界面,这个android源码谁有呢?相关的知识,希望对你有一定的参考价值。

参考技术A package com.pic;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.view.Display;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.widget.ImageView;

public class TestanroidpicActivity extends Activity
/** Called when the activity is first created. */
Bitmap bp=null;
ImageView imageview;
float scaleWidth;
float scaleHeight;

int h;
boolean num=false;
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Display display=getWindowManager().getDefaultDisplay();
imageview=(ImageView)findViewById(R.id.imageview);
bp=BitmapFactory.decodeResource(getResources(),R.drawable.icon);
int width=bp.getWidth();
int height=bp.getHeight();
int w=display.getWidth();
int h=display.getHeight();
scaleWidth=((float)w)/width;
scaleHeight=((float)h)/height;
imageview.setImageBitmap(bp);

@Override
public boolean onTouchEvent(MotionEvent event)

switch(event.getAction())

case MotionEvent.ACTION_DOWN:
if(num==true)
Matrix matrix=new Matrix();
matrix.postScale(scaleWidth,scaleHeight);

Bitmap newBitmap=Bitmap.createBitmap(bp, 0, 0, bp.getWidth(), bp.getHeight(), matrix, true);
imageview.setImageBitmap(newBitmap);
num=false;

else
Matrix matrix=new Matrix();
matrix.postScale(1.0f,1.0f);
Bitmap newBitmap=Bitmap.createBitmap(bp, 0, 0, bp.getWidth(), bp.getHeight(), matrix, true);
imageview.setImageBitmap(newBitmap);
num=true;

break;


return super.onTouchEvent(event);


参考技术B android官网有啊 参考技术C 用ImageView 然后放大,监听touch事件,读出屏幕的分辨率尺寸,然后将读出的尺寸通过参数传到放大的方法中, 然后再监听到touch后,还原就可以了。你查下ImageView或者Drawable的放大缩小方法,看看哪个方法的参数有要传上下左右边界的。网上好多这样的例子

区分点击和滚动 - iOS

【中文标题】区分点击和滚动 - iOS【英文标题】:Differentiate between tap and scroll - iOS 【发布时间】:2012-07-26 22:00:17 【问题描述】:

我将图像嵌入到 UIScrollView 对象中。 scrollView 的方向仅是水平滚动,并且启用分页以一次滚动一张图片。当用户单击图像时(例如在 Facebook 上),我希望能够通过另一个类使图像全屏显示。问题是,我如何区分点击图像和滚动?我希望它在用户平移视图时滚动并在他们点击它时放大到全屏视图。有什么建议吗?

【问题讨论】:

【参考方案1】:

将标签手势识别器添加到您的UIScrollView 对象,并通过它捕获点击手势。

这是向视图添加点击识别器的方式:

UITapGestureRecognizer * recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onTap:)];
recognizer.delegate = self;
[myScrollView addGestureRecognizer:recognizer];

这是onTap 方法签名的样子:

- (IBAction)onTap:(UIPanGestureRecognizer *)recognizer 
    // Make image show up full screen

【讨论】:

没有理由不应该。如果您需要对平移进行精细控制,您可以在 UITapGestureRecognizer 的顶部添加 UIPanGestureRecognizer

以上是关于求解 android 图片点击一下就放大到全屏,再点一下就回到原界面,这个android源码谁有呢?的主要内容,如果未能解决你的问题,请参考以下文章

区分点击和滚动 - iOS

android AsyncTask异步加载的图片怎么设置点击放大再点还原啊?????????

在android中将相机预览拉伸到全屏

求一个简单的点击图片放大缩小的JS代码

将videoview切换到全屏模式android

android怎么把一个小图片布满整个屏幕